002程序性能3研究.ppt

* * 选择排序性能 最好情况:数组a有序。 最坏情况:数组a最大元素在首位,其他与元素 已经有序。 最好 最坏 比较 n-1 n(n-1)/2 移动 3 3(n-1) * * 2-9冒泡排序的缺点? void Bubble (T a[], int n) { for ( int i = 0; i n-1; i++) if(a[i]a[i+1]) Swap(a[i],a[i+1]); } void BubbleSort (T a[], int n) { for ( int i = n; i1; i- -) Bubble(a,i) ; } 优化冒泡排序 * * 如果在一次冒泡过程中没有发生元素互换,则说明数组已经按序排列,没有必要再继续进行冒泡过程。 优化冒泡排序 * * templateclass T bool Bubble(T a[], int n) { //把a[0:n-1] 中最大元素冒泡至右端 bool swapped = false; // 尚未发生交换 for (int i = 0; i n - 1; i++) if (a[i] a[i+1]) { Swap(a[i], a[i+1]); swapped = true; // 发生了交换 } re

文档评论(0)

1亿VIP精品文档

相关文档