![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
排序
LongWarren
共同进步
展开
-
基数排序
很简单https://baike.baidu.com/item/%E5%9F%BA%E6%95%B0%E6%8E%92%E5%BA%8F转载 2020-01-02 10:36:31 · 73 阅读 · 0 评论 -
计数排序
public static void main(String[] args) { int[] array={49,38,65,97,76,13,27,49,78,34,12,64,1}; int[] newArray = myCountSort(array); System.out.println("排序之后:"); for(int i=0;i<newArr...原创 2020-01-02 10:35:32 · 69 阅读 · 0 评论 -
归并排序
public static void main(String[] args) { int[] array={49,38,65,97,76,13,27,49,78,34,12,64,1}; int[] newArray = myMergeSort(array, 0, array.length - 1); System.out.println("排序之后:"); fo...原创 2020-01-02 10:34:45 · 63 阅读 · 0 评论 -
快速排序详解
用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,这个过程称为一趟快速排序原创 2020-01-02 10:33:15 · 134 阅读 · 1 评论 -
冒泡排序
/** * 冒泡排序 * 冒泡排序的思想就是每一趟排序都把大的元素往上浮, * 具体是这样:从当前待排序列第一个开始遍历,指针从第一个开始,如果当前元素大于下一个,那么二者交换, * 指针往后走,当走到待排序列末尾时,最大的一定被放到了最后(像冒泡泡一样上去了),然后缩小待排子序列(把最后一个从当前待排序序列删去), * 如此循环直到当前待排子序列只有一个元素。 * */publ...原创 2020-01-02 10:32:37 · 70 阅读 · 0 评论 -
堆排序详解
具体过程建立小堆顶或大堆顶函数,函数从最后一个非叶子节点开始,若子节点比当前节点的值小或者大则交换,并在交换以后,将当前坐标的交换到的位置作为节点选出其子节点中的最小或者最大值替换当前的值()(后续的步骤是非必要的,目的是为了尽量让大值或者小值沉下去)。堆排序,就是利用堆快速的选出最小值(小堆顶)或最大值(大堆顶),并保证所有的节点值都小于或大于其子节点。每次选出的堆顶的值,肯定是最小或最大的值,放在数组尾部(下次不参与堆),实际上来说就是通过小堆顶或者大堆顶加快选出最小最大值。原创 2020-01-02 10:32:12 · 138 阅读 · 1 评论 -
简单选择排序
/** * 选择排序(Selection sort)是一种简单直观的排序算法。 * 它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置, * 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。 * 以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。 * @param args */publi...原创 2020-01-02 10:31:35 · 1136 阅读 · 0 评论 -
希尔排序
public static void myShellSort(int[] array){ int gap=array.length/2;//希尔排序的间距,如果间距为2,那么0,2,4,6,8,10...元素就认为是一个数组,1,3,5,7,9..也认为是一个新数组。 // 就是用来切分数组的,为什么这样做去百度百科看下吧,人家讲的比我好 do{ for(...原创 2020-01-02 10:30:33 · 99 阅读 · 0 评论 -
直接插入排序
其实这个没什么可讲的,就像前面说的: 如果有一个长度为n的有序数组a,现在又一个元素要插入到数组a,并使数组a依然是有序的,应该怎么做。先说那些是必要做的事情,我们必须找到要插入的元素应该处于的下标,然后把这个下标及下标后面的元素都整体向后移。下面就这两件事请,说下程序应该怎么写。注意上面的假设: 如果有一个长度为n的有序数组a,现在又一个元素要插入到数组a,并使数组a依然是有序的,应该怎么做...原创 2020-01-02 10:10:12 · 169 阅读 · 1 评论 -
经典排序算法
这里主要讲的是主要讲的是内排序,可用于面试,装逼。开阔下视野,对编程能力和技巧提升还是很大的。先阶段先不分析时间复杂度和空间复杂度,我也讲不太明白,稳定性也不太懂。本篇博客就是先讲一下概念,后面会仔细讲每一种排序算法的。听说东西可以打赏钱,还没体验过,那个啥..,你懂得比较排序:大量的比较,没什么好说的插入排序:主要采用插入的方式实现。算法起始于这样一种思路,如果有一个长度...原创 2019-12-31 16:33:53 · 209 阅读 · 1 评论