当前位置:   article > 正文

冒泡排序和希尔排序_冒泡排序的两两交换和希尔排序有什么区别

冒泡排序的两两交换和希尔排序有什么区别

冒泡排序

基本思想
每次从后向前进行(假设为第i次),j=n-1,n-2,…,i,两两比较V[j-1]和V[j]的关键字,如果发生逆序则交换V[j-1]和V[j]的值,如下图所示从无序序列区域最后一个元素开始冒泡,若发现逆序则交换元素,一次冒泡过后有序序列区域增加一个元素且仍有序
在这里插入图片描述
下图是动画演示过程,Exchang用来标记无序序列是否已经有序,若已经有序则Exchang置为0避免再次冒泡比较浪费时间,时间复杂度为O(n*n)且是稳定排序
在这里插入图片描述
在这里插入图片描述
代码演示

 template <typename T>
        static void Bubble(T array[],int len,bool min2max = true)
        {
   
           bool  exchange = true;//设置标记
           for(int j = 0
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/786945
推荐阅读
相关标签
  

闽ICP备14008679号