排序

    public static void main(String[] args) {
        int[] a ={1,2,3,4,5,-8,5,3};
        // sortOne(a);
        // sortTwo(a);
        // sortThree(a);
        // sortFour(a,0,a.length-1);
    }
    /**
     * 排序算法:冒泡排序
     */
    public static void sortOne(int a[]){
        System.out.println("one");
        int length = a.length;
        for (int i = 0; i <length-1 ; i++) {
            for (int j = 0; j <a.length-1-i ; j++) {
                if(a[j]>a[j+1]){
                    swap(a,j,j+1);
                }
            }
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+ " ");
        }
        System.out.println();
    }


    /**
     *排序算法:选择排序
     */
    public static void sortTwo(int a[]){
        System.out.println("rwo:");
        int temp,max;

        for (int i = 0; i < a.length-1; i++) {
            max = a[i];
            temp =i;
            for (int j = i+1; j < a.length; j++) {
                if(a[j]>max){
                    max = a[j];
                    temp =j;

                }
            }
            swap(a,i,temp);
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+ " ");
        }
        System.out.println();
    }

    /**
     * 排序算法:插入排序
     */
    public static void sortThree(int a[]){
        System.out.println("three:");

        for (int i = 1; i < a.length; i++) {
            int max = a[i];
            int temp =i;
            while (temp>0&&max>a[temp-1]){
                a[temp] = a[temp-1];
                temp--;
            }
            a[temp] =max;
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+ " ");
        }
        System.out.println();
    }

    /**
     * 排序算法:快速排序
     *
     */
    public static void sortFour(int a[],int left,int right){

        if(left<=right){
            int index = left; //index相当于中间值得索引
            for(int temp=left+1;temp<=right;temp++){
                if(a[temp]<=a[left]){
                    swap(a,temp,++index);
                }
            }
            swap(a,left,index);
            sortFour(a,left,index-1);
            sortFour(a,index+1,right);
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+ " ");
        }
        System.out.println();


    }
    /**
     * 交换数据
     */
    public static void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容