2.排序

2018-08-19  本文已影响0人  司徒伯明

[algorithm.html](https://www.runoob.com/w3cnote/ten-sorting-algorithm.html

排序算法

冒泡排序

bubble Sort.gif
    public static void bubbleSort(int[] arr){
      for(int i = 0;i< arr.length-1;i++){//外层循环控制排序趟数
          for(int j = 0;j< arr.length-1-i;j++){//内层循环控制每一趟排序多少次
            if(arr[j]>arr[j+1]){
                int temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
          }
      }
    }

选择排序

insertSort.gif
public  static void selectSort(int[] arr){
    for (int i = 0; i <arr.length-1 ; i++) {
        int min = i;
        for(int j = i; j < arr.length ; j++){
            if(arr[j] < arr[min]){
                min = j;
            }
        }
        int temp = arr[i];
        arr[i] = arr[min] ;
        arr[min] = temp;
    }
}

插入排序

    public static void insertSort(int[] arr){
          int j,temp;
        for(int i = 1; i < arr.length; i++){
            if(arr[i] < arr[i-1]){
                temp = arr[i];
                for(j= i - 1; j >= 0 && arr[j] > temp; j--){
                    arr[j+1] = arr[j];
                }
                arr[j+1] = temp;
            }
        }
    }

插入排序的基本思路:
将较小的插入到元素的左端;
为插入的元素腾出空间,让后将其余元素都往后移动;

需要一个图来说明啊

希尔排序

在希尔排序时一种在出入排序的基础上进行,拓展得到的一种快速排序算法

    public static void shellSort(int[] arrays){
        int length = arrays.length;
        int step = 1;
        if( step < length/3){
            step = 3 * step +1;
        }
        while (step >=1){
            for (int i = step; i < arrays.length; i++) {
                int j = i;
                int temp = arrays[i];

                // j - step 就是代表与它同组隔壁的元素
                while (j - step >= 0 && arrays[j - step] > temp) {
                    arrays[j] = arrays[j - step];
                    j = j - step;
                }
                arrays[j] = temp;
            }
            step /=3;
        }
    }

归并排序

将数组切分然后递归的使用~~

    public static void sort(int[] arrays){
    }

向上归并 和向下递归并

快速排序

设置关键字然后分组进行划分,然后递归的排序字数组
java中是如何实现的比较的?

数据结构

上一篇 下一篇

猜你喜欢

热点阅读