![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
FutureDr
新生代农民工
展开
-
插入排序
插入排序思路CC#插入排序是稳定排序。插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序的时间复杂度为 O(n²),虽然同样是 O(n²) 的时间复杂度,但是比冒泡排序和选择排序的性能要好一点。思路插入排序的思路是这样的(由小到大排序):插入排序的排序思想类似给扑克牌排序将待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列;从头到尾依次遍历未排序序列,将扫描到的每个元素插入有序序列的适当位置。(若待插入原创 2021-03-31 22:38:15 · 104 阅读 · 0 评论 -
冒泡排序
冒泡排序思路CC#冒泡排序是稳定排序。当待排序序列是正序是最快,当待排序序列是反序时最慢,最慢的时间复杂度是 O(n²)。冒泡排序比较适合待排序序列基本有序的情况。思路冒泡排序的思路是这样的(由小到大排序):比较相邻的元素,如果前面的比后面的大,就交换这两个元素。对每一对相邻的元素做同样的工作,从第一对到最后一对,比较完第一次后,最后的元素是最大的数;对除最后一个元素外的所有元素重复上面操作,此时最后两个元素有序;重复上面循环操作,直到整个数组排序完成。C#include<std原创 2021-03-31 21:45:41 · 254 阅读 · 0 评论 -
选择排序
选择排序思路C语言代码其他语言后续补充思路选择排序的思路是这样的:首先,找到数组中最小的元素,拎出来,将它和数组的第一个元素交换位置,第二步,在剩下的元素中继续寻找最小的元素,拎出来,和数组的第二个元素交换位置,如此循环,直到整个数组排序完成。至于选大还是选小,这个都无所谓,你也可以每次选择最大的拎出来排,也可以每次选择最小的拎出来的排,只要你的排序的手段是这种方式,都叫选择排序。C语言代码public void SelectSort(int arr[]){ for(int i=0; i&原创 2020-07-28 13:22:47 · 89 阅读 · 0 评论