协会类网站免费模板,90设计网素材下载,淘宝客导购网站怎么建设,深圳网站论坛建设冒泡排序和改进的冒泡排序 1/**//*------------------------------------------------------------------------------------------- 2Bubble_sort.h 3冒泡排序#xff1a; 时间复杂度为O(N^2) 4改进的冒泡排序#xff1a; 时间复杂度仍为O(N^2) 5 一般的冒泡排序方法有可… 冒泡排序和改进的冒泡排序 1/**//*------------------------------------------------------------------------------------------- 2Bubble_sort.h 3冒泡排序 时间复杂度为O(N^2) 4改进的冒泡排序 时间复杂度仍为O(N^2) 5 一般的冒泡排序方法有可能会在已经排好序的情况下继续比较改进的冒泡排序 6 设置了一个哨兵flag如果一次for循环没有进行交换则元素已经排好序由哨兵控制退出循环。 7-------------------------------------------------------------------------------------------*/ 8#ifndef BUBBLE_SORT_H 9#define BUBBLE_SORT_H1011#include typedef.h12#include swap.h1314//冒泡排序15void Bubble_sort(T *a, int n)16{17 for(int in-1; i ! 0; --i)18 for(int j0; j ! i; j)19 if(a[j1] a[j]) swap(a[j1],a[j]);20}2122//改进的冒泡排序23void Improved_Bubble_sort(T *a, int n)24{ 25 for(int in-1; i ! 0; --i)26 {27 bool flag true;28 for(int j0; j ! i; j) //这一趟遍历如果没有交换则已完成排序29 if(a[j1] a[j]) { swap(a[j1],a[j]); flag false; }30 if(flag true) break;31 }32}3334#endif 幸运草 2009-04-22 16:46 发表评论 转载于:https://www.cnblogs.com/liyuxia713/archive/2009/04/22/2540781.html