![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
排序
经典排序算法
Boston_Kimisong
这个作者很懒,什么都没留下…
展开
-
桶排序
https://blog.csdn.net/qq_27124771/article/details/87651495转载 2020-08-19 13:58:49 · 75 阅读 · 0 评论 -
希尔排序
思想分组并在每个组内进行插入排序代码public static void shellSort(int[] arr) { for(int gap = arr.length / 2; gap > 0; gap /= 2) { for(int i = gap; i < arr.length; i++) { int temp = arr[i]; int j; for(j = i - gap; j >原创 2020-06-23 11:56:18 · 62 阅读 · 0 评论 -
排序
插入排序冒泡排序选择排序快速排序归并排序堆排序原创 2020-06-21 22:31:49 · 74 阅读 · 0 评论 -
快速排序(原始、随机)
思路在数组中选择一个哨兵,将比哨兵小的元素移动到哨兵左侧,比哨兵大的元素移动到哨兵右侧,然后把哨兵放到正确的位置,然后用递归对哨兵两侧的序列进行排序。代码public static void quickSort(int[] arr, int leftBorder, int rightBorder) { if(leftBorder < rightBorder) { int left = leftBorder; int right = rightBord原创 2020-06-20 17:09:41 · 174 阅读 · 0 评论 -
插入排序
思路将数组分为已排序序列和未排序序列,已排序序列在前,未排序序列在后。将未排序序列中的第一个元素,从后向前与已排序序列中的元素逐个比较、交换,直到到达合适的位置。代码public static void insertionSort(int[] arr) { for(int i = 1; i < arr.length; i++) { int temp = arr[i]; for(int j = i; j > 0; j--){ i原创 2020-06-20 14:06:37 · 89 阅读 · 0 评论 -
冒泡排序
思路每次遍历将未排序序列中最大的元素移到序列的最后一个位置代码public static void bubbleSort(int[] arr) { for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr.length-i-1; j++) { if(arr[j] > arr[j+1]){ swap(arr, j, j+1);原创 2020-06-20 13:16:02 · 76 阅读 · 0 评论 -
选择排序
思路从待排序序列中选出一个最小元素,与已排序序列之后的第一个元素进行交换。代码public static void selectionSort(int[] arr) { for(int i = 0; i < arr.length-1; i++) { int minIndex = i; for (int j = i; j < arr.length; j++) { if (arr[j] < arr[minIndex]) {原创 2020-06-19 10:14:28 · 74 阅读 · 0 评论 -
归并排序
思路拆 + 合代码public static void mergeSort(int[] arr) { int[] temp = new int[arr.length]; sort(arr, 0, arr.length-1, temp);}public static void sort(int[] arr, int left, int right, int[] temp) { if(left == right) { return; }else{原创 2020-06-18 17:01:18 · 74 阅读 · 0 评论 -
堆排序
资料参考:https://www.cnblogs.com/chengxiao/p/6129630.html升序排序总体思路:对无序数组构建大顶堆,此时数组的最大元素是数组的第一个元素。将数组的第一个元素与数组的最后一个元素进行交换,此时数组的最大元素是数组的最后一个元素。排除数组的最后一个元素,对数组的剩余元素进行调整,使得数组的剩余元素构成一个新的大顶堆,此时这些剩余元素中的最大元素位于数组的倒数第二个位置。反复执行2、3所描述的交换+调整策略,直到整个数组有序。代码public sta原创 2020-06-18 12:34:58 · 75 阅读 · 0 评论