下图来自第四版算法
顾名思义,您吐出的气泡越多,就越靠近水面。
一句话中的摘要:按顺序从数组中选择最小的,排序排名。
考虑房东,当您触摸卡片时,触摸卡后插入插入的位置
关于选择排序和插入排序之间的区别:
就像选择排序一样,当前索引左侧的所有元素都是有序的,但是它们的最终位置尚不确定。为了释放较小元素的空间,可以移动它们。但是当索引到达数组的右端时,阵列排序将完成。
与选择的选择不同,插入排序所需的时间取决于输入中元素的初始顺序。比随机序列阵列或反向序列阵列快。
类似于Lianlian的操作
希尔的分类思想是按阵列中的任何间隔制作元素。
[S,H,E,L,L,S,O,R,T,E,X,A,M,P,L,E] Array Hill分类轨迹如下:
拿一个?,将两个有序数组返回到一个数组
对部门的阵列进行排序:
合并已经排序了一个好的数组:
首先,我们进行了两个或两个回报:
(想象每个元素为1的数组),然后将四个或四个返回(将两个尺寸与两个尺寸合并为带有4个元素的数组),然后是8月8日的合并,请继续进行。,第二个合并可能小于第一个子阵列的第二个子阵列
将数字分为中间和向右,中间是切割元素,以确保左侧的元素小于切割元件。右边的元素大于切割元件
//堆叠consthepsort = nums => {让len = nums.length;//初始化一个大顶堆,从第一个非叶子节点开始(让i = math.floor(len / 2-1); i> = 0; i--){sinktobuildheap(nums,i,nums。长度);} //排序,找到每个周期的当前最大值,并且阵列长度减少1(令i = len-1; i> 0; i-){//与最后一个root节点交换node [nums [0],nums [i]] = [nums [i],nums [0]];//从根节点开始调整,最后一个节点已经是当前的最大值,无需参与比较,//因此,第三个参数i,即,在最后一个节点之前可以是sinktobuildheap(nums),0,i);}}}}
原始:https://juejin.cn/post/70985251961051173