java数据结构与算法--三种排序算法

1.代码

package com.evior.demo3;

/**
 * 数组的排序
 */
public class Sort {


    /**
     * 冒泡排序
     */
    public void sortT1(int [] arr){
        for (int i=0;i<arr.length-1;i++){
            for (int j=i;j<arr.length-1;j++){
                if (arr[i]>arr[j+1]){
                    int temp;
                    temp=arr[j+1];
                    arr[j+1]=arr[i];
                    arr[i]=temp;
                }
            }
        }
    }

    /**
     * 选择排序
     * @param arr
     */
    public void sortT2(int[] arr){
        int min=0;
        for (int i=0;i<arr.length-1;i++){
            //把第i个元素赋为最小值
            min=i;
            for (int j=i;j<arr.length;j++){
                if (arr[j]<arr[min]){
                    min=j;
                }
            }
            //找出第i+1个最小数
            int temp=arr[i];
            arr[i]=arr[min];
            arr[min]=temp;
        }
    }


    /**
     * 插入排序
     * @param arr
     *
     * 2  3  1  0  5
     *
     * 2  3  1  0  5
     *
     * 2  3  3  0  5
     * 2  2  3  0  5
     * 1  2  3  0  5
     *
     * 1  2   3  3  5
     * 1  2   2  3  5
     * 1  2   2  3  5
     * 0  1   2  3  5
     */
    public void sortT3(int [] arr){
        int temp=0;
        for (int i=1;i<arr.length;i++){
            temp=arr[i];
            int j=i;
            while (j>0&&arr[j-1]>=temp){
                arr[j]=arr[j-1];
                j--;
            }
            arr[j]=temp;
        }
    }





    public void display(int [] arr){
        System.out.print("[");
        for (int i=0;i<arr.length-1;i++){
            System.out.print(arr[i]+",");
        }
        System.out.print(arr[arr.length-1]+"]");
        System.out.println();
    }



}

2.测试

package com.evior.demo3;

public class test {

    public static void main(String[] args) {
        int [] arr={2,1,3,5,4};
        Sort sort=new Sort();
        /*sort.sortT1(arr);
        sort.display(arr);*/

       /* sort.sortT2(arr);
        sort.display(arr);*/

        sort.sortT3(arr);
        sort.display(arr);
    }
}

3.结果





猜你喜欢

转载自blog.csdn.net/qq_30904985/article/details/80153880