排序书中第十章.pptVIP

  • 1
  • 0
  • 约7.68千字
  • 约 66页
  • 2019-05-23 发布于山东
  • 举报
10.3 快 速 排 序 一、起泡排序 二、一趟快速排序 三、快速排序 一、起泡排序   假设在排序过程中,记录序列R[1..n]的状态为: 第 i 趟起泡排序 无序序列R[1..n-i+1] 有序序列 R[n-i+2..n] n-i+1 无序序列R[1..n-i] 有序序列 R[n-i+1..n] 比较相邻记录,将关键字最大的记录交换到 n-i+1 的位置上 void BubbleSort(Elem R[ ], int n) { while (i 1) { } // while } // BubbleSort i = n; i = lastExchangeIndex; // 本趟进行过交换的 // 最后一个记录的位置 if (R[j+1].key R[j].key) { Swap(R[j], R[j+1]); lastExchangeIndex = j; //记下进行交换的记录位置 } //if for (j = 1; j i; j++) lastExchangeIndex = 1; 注意: 2. 一般情况下,每经过一趟“起泡”,“i 减一”,但并不是每趟都

文档评论(0)

1亿VIP精品文档

相关文档