当前位置:   article > 正文

改进的冒泡排序_对例3-26的冒泡排序法的程序进行如下改进: ①从键盘输人n个数(从application的运行命

对例3-26的冒泡排序法的程序进行如下改进: ①从键盘输人n个数(从application的运行命

传统的冒泡排序的时间复杂度为o(n^2),但是我们可以通过改进时他的时间复杂度为o(n^2/2)第一次将最左边向右排序的时候我们把最大的数放在了最右边,第二次将第二大的数放在了右边第二位,同理第三次排序的时候我们不需要比较最又边的数。

  1. #include<stdio.h>
  2. #include<iostream>
  3. using namespace std;
  4. void main()
  5. {
  6. int x;
  7. int n = 8;
  8. int a[] = { 1,24,3,7,15,45,23,56 };
  9. for (int i = 0; i<n-1 ; i++) //有8个数所以大循环 要8次
  10. for (int j = 0; j < n-1 -i ; j++)// 当i=0 时 这个内循环 把最大的排到了最右边,此时后面的只需要排n-1次 依次类推
  11. {
  12. if (a[j] > a[j + 1])
  13. {
  14. x = a[j];
  15. a[j] = a[j + 1];
  16. a[j + 1] = x;
  17. }
  18. }
  19. for (int i = 0; i < 8; i++)
  20. {
  21. cout << a[i] << " ";
  22. }
  23. system("pause");
  24. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/824405
推荐阅读
相关标签
  

闽ICP备14008679号