说明第七章排序_第1页
说明第七章排序_第2页
说明第七章排序_第3页
说明第七章排序_第4页
说明第七章排序_第5页
已阅读5页,还剩207页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、概述

2、插入排序

3、快速排序

4、选择排序

5、归并排序

6、基数排序

7、讨论目录

内部排序1、概述

分类:内部排序:全部记录都可以同时调入内存进行的排序。 外部排序:文件中的记录太大,无法全部将其同时调入内存进行的排序。

定义:设有记录序列:{R1、R2………..Rn}其相应的关键字序列为:

{K1、K2………..Kn};若存在一种确定的关系:

Kx<=Ky<=

…<=Kz

则将记录序列{R1、R2………..Rn}排成按该关键字有序的序列:

{Rx、Ry………..Rz}的操作,称之为排序。 关系是任意的,如通常经常使用的小于、大于等关系。

稳定与不稳定:若记录序列中的任意两个记录

Rx、Ry的关键字Kx=Ky;如果在排序之前和排序之后,它们的相对位置保持不变,则这种排序方法是稳定的,否则是不稳定的。有哪些排序方法是稳定的?哪些不稳定?#defineMAXSIZE20typedefintKeyType;typedefstruct{KeyTypekey;InfoTypeotherinfo;}RedType;typedefstruct{RedTyper[MAXSIZE+1];//r[0]空或作哨兵

intlength;}SqList;Go783r[0]用作哨兵。共执行5遍操作。每遍操作:先将元素复制内容放入r[0],再将本元素同已排序的序列,从尾开始进行比较。在已排序的序列中寻找自己的位置,进行插入。或者寻找不到,则一直进行到哨兵为止。意味着本元素最小,应该放在r[1]。每一遍,排序的序列将增加一个元素。如果序列中有n个元素,那么最多进行n-1遍即可。2、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序01236241061234542、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序012362410612345362424i52、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106123453624i62、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106123453624i2472、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106123453610i241082、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106123453610i2492、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106123453610i24102、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106123453610i2410112、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序01236241061234536246i106122、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序01236241061234536246i10132、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序01236241061234536246i10142、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序01236241061234536246i10152、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序01236241061234536246i106162、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106345362412i1061212172、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106345362412i10612182、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106345362412i10612192、插入排序e.g:36、24、10、6、12存放在r数组的下标为1至5的元素之中,用直接插入法将 其排序。结果仍保存在下标为1至5的元素之中。1、直接插入排序0123624106345362412i1061212202、插入排序1、直接插入排序01210203040345102040505030分析:移动、比较次数可作为衡量时间复杂性的标准正序时:比较次数∑

1=n-1 i=2

移动次数0

n逆序时:比较次数∑

i=(n+2)(n-1)/2 i=2

移动次数

(i+1)=(n+4)(n-1)/2 i=2nnO(n2)212、插入排序1、直接插入排序01236241063453624121061212StatusInsertSort(SqList&L){for(i=2;i<=L.length;++i)

if(LT(L.r[i].key,L.r[i-1].key)){L.r[0].key=L.r[i].key;

for(j=i-1;LT(L.r[0].key,L.r[j].key);--j)L.r[j+1]=L.r[j];L.r[j+1]=L.r[0];}}//InsertSort程序实现:362410612i222、插入排序2、折半插入排序StatusBInsertSort(SqList&L){for(i=2;i<=L.length;++i){L.r[0]=L.r[i];low=1;high=i-1;

while(low<=high){m=(low+high)/2;

if(LT(L.r[0].key,L.r[m].key))high=m-1;

elselow=m+1;}for(j=i-1;j>=high+1;--j)L.r[j+1]=L.r[j];L.r[high+1]=L.r[0];}}//BInsertSort程序实现:362410612362412high1061212方法:在已排序的序列中查找下一元素的插入位置,将该元素插入进去,形成更长的排序序列。如:12的插入位置为下标3。减少了比较次数,未降低时间复杂性。ilow232、插入排序2、折半插入排序362410612362412high1061212方法:在已排序的序列中查找下一元素的插入位置,将该元素插入进去,形成更长的排序序列。如:12的插入位置为下标3。减少了比较次数,未降低时间复杂性。ilow12362412high10612ilow12362412high10612ilow242、插入排序2、折半插入排序362410612362425high1062525方法:在已排序的序列中查找下一元素的插入位置,将该元素插入进去,形成更长的排序序列。如:12的插入位置为下标3。减少了比较次数,未降低时间复杂性。ilow12362425high10625ilow1236242510625ihighlow252、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长8:49、38、65、97、76、13、27、49、55、4步长8:49、38、65、97、76、13、27、49、55、4262、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长8:49、38、65、97、76、13、27、49、55、4步长8:49、4、65、97、76、13、27、49、55、33步长为8的序列的排序结束。272、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长4:49、4、65、97、76、13、27、49、55、33步长4:49、4、65、97、76、13、27、49、55、33282、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长4:49、4、27、49、55、13、65、97、76、33步长4:49、4、65、97、76、13、27、49、55、33292、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长2:49、4、27、49、55、13、65、97、76、33步长2:49、4、27、49、55、13、65、97、76、33302、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长2:27、4、49、13、55、33、65、49、76、97步长2:49、4、27、49、55、13、65、97、76、33312、插入排序2、shell排序e.g:将序列49、38、65、97、76、13、27、49、55、4用shell排序的方法进行排序

1、选定步长序列,如选为8、4、2、1 2、针对步长序列进行排序,从最大的步长开始,逐步减少步长,最后一次选择的 的步长肯定为1。步长1:27、4、49、13、55、33、65、49、76、97步长1:4、13、27、38、49、49、55、65、76、97最后的排序结果分析:shell排序的分析非常困难,原因是何种步长序列最优难以断定。通常认为时间复杂性为:O(n3/2).

较好的步长序列:……121、40、13、4、1;可由递推公式Si=3Si-1+1产生。程序实现:类似于直接插入排序的程序。注意修改步长。323、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849493838656597977676131327274949333、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656597977676131327274949343、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656597977676131327274949353、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656597977676131327274949363、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656597977676131327274949373、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977697131327274949383、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977697131327274949393、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977613971327274949403、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977613971327274949413、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977613271327974949423、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977613271327974949433、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 4567849384938656576977613271327499749443、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849657613274997453、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849657613274997463、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849657613274997473、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849657613274997483、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849651376274997493、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849651376274997503、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849651327764997513、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849651327764997523、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496576132749973849651327497697533、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849651327497697543、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849651327497697553、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849651327497697563、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849136527497697573、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849136527497697583、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849132765497697593、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849132765497697603、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738496513274976973849132749657697613、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738491327496576973849132749657697623、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738491327496576973849132749657697633、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738491327496576973813492749657697643、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对 第r[1]至r[2]个元素进行。每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素的相对位置不正确 ,则进行交换;否则继续比较下面两个相邻的元素。结束条件:在任何一趟进行过程中,未出现交换。

e.g:将序列49、38、65、97、76、13、27、49用起泡排序的方法进行排序。0123 45678384965761327499738491327496576973813492749657697653、快速排序1、起泡排序

原理:若序列中有n个元素,通常进行n-1趟。第1趟,针对第r[1]至r[n]个元 素进行。第2趟,针对第r[1]至r[n-1]个元素进行。……第n-1趟,针对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论