当前位置:   article > 正文

数据结构排序算法_数据结构中以人名命名的算法有

数据结构中以人名命名的算法有

排序:就是将一组杂乱无章的数据按照一定的规律组织起来。

按照大类分为稳定排序和不稳定排序。稳定排序就是指两个大小相同的顺序在排序之后顺序不变,而不稳定排序那就不一定了。

快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法。

详细图解如下:

 

//在这里:N(log2N)是指log以2为底N的对数

稳定排序的适用条件:1.本来就有序 2.数组比较短

 在这篇博客中会详细讲到七种排序算法,具体的过程在代码中以注释的形式体现:

1.冒泡排序:

两层循环,相邻元素进行比较

  1. void BubbleSort(int array[], int size){
  2. if (size <= 1){//首先判断长度
  3. return;
  4. }
  5. //循环套循环,大循环遍历乱序的数组,小循环在里面进行交换。
  6. //有序区间逐渐变长,无序区间逐渐变短。
  7. int bound = 0;
  8. //[0,bound)当前的有序区间 [bound,size)乱序排序
  9. for (; bound < size; ++bound){
  10. //循环的目的就是找到一个最小的数字
  11. int cur = size - 1;
  12. for (; cur>bound; --cur){
  13. if (array[cur] < array[cur - 1])
  14. //提前定义好交换
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/966074?site
推荐阅读
相关标签
  

闽ICP备14008679号