几种常见的排序算法的实现与性能分析数据结构课程设计报告 联系客服

发布时间 : 星期二 文章几种常见的排序算法的实现与性能分析数据结构课程设计报告更新完毕开始阅读a202d9189b6648d7c0c7464b

开始 输入要排序的一组元素 初始化变量priot,low,high Low小于high Y 第high个元素大 于priot Y 第low个元素与第high个元素交换 High减1 第low个元素小于priot Y 第high个元素与第low个元素交换 Low++ 输出关键字的比较次数和移动次数 结束 4.25快速排序关键字比较次数和移动次数的流程图

此函数int Partition(int i,int j) 的程序代码如下:

16

int Partition(int i,int j) //快速排序 { }

void QuickSort(int low,int high) {

int pirot=R[i]; while(i

while(i=pirot) { j--; times++; } if(i

{ R[i++]=R[j]; changes++; }

while(i

int pirotpos,k,i; if (low

pirotpos=Partition(low,high);

17

}

num++;

QuickSort(low,pirotpos-1);

QuickSort(pirotpos+1,high); printf(\for(i=1;i<=L;i++)

printf(\printf(\

printf(\最终排序结果为:\\n\

printf(\快速排序的比较次数为%d\printf(\快速排序的移动次数为%d\times=0; changes=0; }

18

开始

i=1,j=1 输入要排序的一组元素

定义临时中间变量h,并赋初值 N i<元数总个数 Y

h记下目前找到的最小关键字所在的位置 i=i+1 在无序区R[i-n]中选h最小记录R[h] 做第i趟排序

输出比较次数和移动次数 交换R[i]和R[h] 结束 4.26选择排序关键字比较次数和移动次数的流程图

此函数void Selectsort() 的程序代码如下:

19