排序算法

来源:互联网 发布:淘宝用户画像怎么做 编辑:程序博客网 时间:2024/05/22 00:55

Java常用排序算法/程序员必须掌握的8大排序算法:http://blog.csdn.net/qy1387/article/details/7752973
下面列出了各种排序方法的时间与稳定性
稳定与不稳定(通俗地讲,稳定就是两个相等的数不会交换位置


常规表示方法
冒泡排序  public static void bubbleSort(int[] nums){    int size = nums.length;    int temp;    for (int i = 0; i < size-1; i++) {        for (int j = 0; j <size-i-1 ; j++) {            if (nums[j] > nums[j+1]){                temp = nums[j];                nums[j] = nums[j+1];                nums[j+1] = temp;            }        }    }    Log.i(TAG, "bubbleSort: "+ Arrays.toString(nums));}选择排序public static void selectSort(int[] nums){    int size = nums.length;    int temp;    int minIndex;    for (int i = 0; i < size-1; i++) {        minIndex = i;        for (int j = i+1; j <size ; j++) {            if (nums[j] < nums[minIndex]){                minIndex = j;            }        }        if (minIndex != i){            temp = nums[i];            nums[i] = nums[minIndex];            nums[minIndex] = temp;        }    }    Log.i(TAG, "selectSort: "+ Arrays.toString(nums));}插入排序public static void insertSort(int[] nums){    int size = nums.length;    int temp;    for (int i = 1; i < size; i++) {        for (int j = i; j > 0 ; j--) {            if (nums[j] < nums[j-1]){                temp = nums[j];                nums[j] = nums[j-1];                nums[j-1] = temp;            }        }    }    Log.i(TAG, "insertSort: "+ Arrays.toString(nums));}



原创粉丝点击