排序综合课程设计报告.docx
排序综合课程设计报告 课程设计 课程设计名称:排序综合 专业班级: 00 学生姓名: 00 学号: 000 指导教师: 000 课程设计时间: 2022.6.21-2022.6.25 计算机科学与技术专业课程设计任务书 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页 信息科学与工程学院课程设计成绩评价表课程名称:数据结构课程设计 1、需求分析 1.1、直接插入排序 思路:设有一组关键字K1,K2,.,Kn,排序开始变认为K1是一个有序的序列,让K2插入到表长为1的有序序列,使之成为一个表长为2的有序序列, 让K3插入到表长为2的有序序列,使之成为一个表长为3的有序序列,依次类推,最后让Kn插入上述表长为n-1的有序序列,得到一个表长为n的有序序列. 1.2、希尔排序 思路:先取一个正整数d1(d1=0 && next.key =1;i-) ai.key=ai-1.key; k=n/2; while(k>=1) for(i=k+1;ia0.key)&&(j>=0) aj+k.key=aj.key; j=j-k; aj+k=a0; k=k/2; for(i=0;i<n;i+) ai.key=ai+1.key; printf("输出希尔排序的结果:n"); /快速排序/ int hoare(struct element aSIZE,int l,int h)/分区处理函数 int i,j; struct element x; i=l; j=h; x.key=ai.key; do while(i=x.key) j-; if(i<j) ai.key=aj.key; i+; while(i<j)&&(ai.key<=x.key) i+; if(i<j) aj.key=ai.key; j-; while(i<j); ai.key=x.key; return(i); void quick1(struct element aSIZE,int n) /非递归的快速排序 int i,l,h,tag,top; int s202; l=0;h=n-1;tag=1;top=0; do while(l<h) i=hoare(a,l,h); top+; stop0=i+1; stop1=h; h=h-1; if(top=0) tag=0; else l=stop0; h=stop1;