第十章 内部排序.pptVIP

  • 9
  • 0
  • 约1.67万字
  • 约 87页
  • 2019-02-18 发布于湖北
  • 举报
冒泡排序 算法步骤: 待排序记录S={r1,r2…,rn},假设待排序记录长为n 第一趟:比较记录r1与r2的关键字,若r1.keyr2.key,则将两个记录交换,紧接着依次比较r2和r3,直至rn-1与rn为止。这样一趟将关键字值最大的记录移至rn位置, 第二趟:比较r1至让rn-1,关键字值次大的记录移动到第n-1位置,方法同第一趟 依次完成第3趟,第4趟,…n-1趟,直到所有记录都完成排序 9.3.1 冒泡排序 举例 快速排序 算法思想: 将一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字比另一部分记录的关键字小,然后分别对这两部分记录继续使用该方法排序,以达到整个序列有序。 void partion(int r[], int s, int t) { int i=s, j=t, x=r[s]; //用辅助变量x存储参考元 while(ij){ while (ij r[j]x) j=j-1; if (ij) {r[i]=r[j];i=i+1;} while (ij r[i]x) i=i+1; if (ij) {r[j]=r[i];j=j-1;} } r[i]=x; Return i ; } 快速排序 举例: 10.5 归并排序(分治法) 归并排序思路: 归并的含义是将两个或两个以上的有序表合并成一个有序表。

文档评论(0)

1亿VIP精品文档

相关文档