排序方法
文章平均质量分 73
萌哒哒白小羊
hellow
展开
-
堆排序
待更新原创 2017-06-16 09:37:24 · 239 阅读 · 0 评论 -
归并排序
待更新原创 2017-06-16 09:36:37 · 249 阅读 · 0 评论 -
快速排序
排序效率O(N*logN)核心思想:分治法排序过程:1.当前待排序序列中取出一个数作为基准数。具体操作:可以把第一个元素设为基准数2.分区, 将比基准数大的数全放到它的右边,小于或等于它的数全放到它的左边。左右序列无需有序具体操作:先从右往左找一个小于基准数的数(因为基准数在左,查找应从右开始),再从左往右找一个大于基准数的数,然后交换他们。之后继续查找,每次右侧先行;原创 2017-06-16 09:26:58 · 452 阅读 · 0 评论 -
C++中sort与qsort函数简介
C++中自带了一些排序函数,其中STL的sort();qsort()用的较多sort:复杂度为n*log2(n)头文件#include 原型:template class RandomAccessIterator> void sort ( RandomAccessIterator first, RandomAccessIterator last );原创 2017-06-14 22:26:27 · 379 阅读 · 0 评论 -
插入排序
类似于打牌时的操作,先将手中的牌排好序,抽到新的牌时,通过比较,插入到合适的位置从小到大排序示例代码:#include using namespace std;templateT* insert_sort1(T a[],const int n){ int i,j,temp; for(i=1;i<n;i++) {原创 2017-06-13 23:05:43 · 195 阅读 · 0 评论 -
选择排序
思想:每次从剩余未排序序列中选出最小的元素(实现由小到大排序),置于已排序序列后。直接选择排序:未排序序列中顺序比较找出最小元素原创 2017-06-14 13:56:24 · 226 阅读 · 0 评论 -
冒泡排序
冒泡排序是最简单的交换排序;实现从小到大排列;相邻元素间比较,大的置于后面,每次循环,相当于把当前序列最大的元素置于最后;是不是和顺序选择排序很像?只不过在查找最大值的过程中添加了两两交换的过程示例代码:结果:原创 2017-06-14 15:11:40 · 242 阅读 · 0 评论 -
希尔排序
希尔排序,由发明者名字命名;实质为分组插入排序;又称缩小增量排序原理:对目标序列,按一定间隔(增量)取出所有可能的子序列,进行插入排序;不断减小增量(每次减半),重复插入排序过程示例代码:#include #includeusing namespace std;template T * shell_sort1(T a[],int const n)原创 2017-06-14 20:59:28 · 442 阅读 · 0 评论