八种排序算法合集

  简介:总的来说,排序算法共有八大类,即冒泡排序、选择排序、快速排序、插入排序、希尔排序、归并排序、基数排序以及堆排序等,本文另外也介绍了桶排序。编程语言使用了C/C++(其实主要用的C),3个经常出现的函数形参,arr - 待排序数组名(首元素地址)、bgn - 待排序数组起始排序元素位置(有时我们仅需要对数组中某一段元素进行排序,但通常bgn = 0,即arr首元素位置)、end - 待排序数组截止排序尾元素的下一个位置(即该位置无效,不可引用)。文中均已升序为例,降序原理相同。

  时间复杂度:描述该算法在处理大量数据时,总的来说其时间效率的参考;  稳定性:描述算法对原始序列处理前后,该序列相等大小的元素前后位置是否发生改变

  两个常用的函数:1、获取数组最大元素值; 2、交换两个整形元素。代码如下:

//获取整形数组的最大值 //NOTE: 默认arr非空 int getMaxValue(const vector<int> &arr) { int max = 0; for (auto val : arr) { if (val > max) max = val; } return max; } /*交换两个整形值*/ void mySwap(int *pa, int *pb) { int tmp = *pa; *pa = *pb; *pb = tmp; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyydwp.html