- 10
- 0
- 约2.96万字
- 约 72页
- 2016-12-26 发布于广东
- 举报
void QuickSort(SeqList R,int low,int high) {//对R[low…high]快速排序 int pivot; if(lowhigh) { pivot=Partition(R,low,high); QuickSort(R,low,pivot-1); QuickSort(R,pivot+1,high); } } void ShellPass(SeqList R,int d) {//希尔排序中的一趟排序,d为当前增量 int i,j; for(i=d+1;i=n;i++) { cm[4][0]++;//统计比较次数 if(R[i].keyR[i-d].key) { R[0]=R[i];j=i-d; cm[4][1]++;//统计基本赋值操作次数 do {//查找R[i]的插入位置 R[j+d]=R[j];//后移记录 cm[4][0]++;//统计比较次数 cm[4][1]++;//统计基本赋值操作次数 cm[4][3]++;//统计移动次数 j=j-d; }while(j0R[0].keyR[j].key); R[j+d]=R[0]; cm[4][1]++;//统计基本赋值操作次数 } } } void Heapify(SeqList R,int low,int high) {//将R[low...high]调整为大根堆 int large; RecType temp=R[low]; cm[5][1]++; //统计基本赋值操作次数 for(large=2*low;large=high;large*=2) { cm[5][0]++; //统计比较次数 if(largehighR[large].keyR[large+1].key) large++; cm[5][0]++; //统计比较次数 if(temp.key=R[large].key) break; R[low]=R[large];//相当于交换了R[low]和R[large] cm[5][1]++;//统计基本赋值操作次数 low=large; } R[low]=temp; cm[5][1]++;//统计基本赋值操作次数 cm[5][2]++;//统计交换次数 } void BuildHeap(SeqList R) {//将初始文件R[1...n]构造成大根堆 int i; for(i=n/2;i0;i--) Heapify(R,i,n); } void HeapSort(SeqList R) { //对R[1...n]进行堆排序,用R[0]做暂存单元 int i; BuildHeap(R); for(i=n;i1;i--) { //对当前无序区R[1...i]进行堆排序,共做n-1趟 R[0]=R[1]; //将堆顶和堆中最后一个记录交换 R[1]=R[i]; R[i]=R[0]; cm[5][1]+=3; //统计基本赋值操作次数 cm[5][2]++; //统计交换次数 Heapify(R,1,i-1); } } void analyse() {//给出各种指标的比较结果 int i; char *name[6]={冒泡排序,插入排序,选择排序,快速排序,希尔排序,堆排序}; printf(\n这六种排序算法的指标分别为:\n); printf(\n比较次数为:\n); for(i=0;i6;i++) printf(%-8s:%d\n,name[i],cm[i][0]); printf(\n基本赋值操作次数为:\n); for(i=0;i6;i++) printf(%-8s:%d\n,name[i],cm[i][1]); printf(\n交换次数为:\n); for(i=0;i6;i++) printf(%-8s:%d\n,name[i],cm[i][2]); printf(\n移动次数为:\n); for(i=0;i6;i++) printf(%-8s:%d\n,name[i],cm[i][3]); getchar(); } void print() {//输出R数组中的数据 int i; printf(the data is\n); for(i=1;i=n;i++) printf(%4d,R[i]); } void copyto(SeqList R1, SeqList R2) {//将R1数组中的数据备份到R2数组中 int i
您可能关注的文档
- 数据结构二版杨枨数据结构:第六章:树课件.ppt
- 数据结构教学课件作者李学刚电子课件源代码单元5图课件.ppt
- 数据结构教学课件作者李学刚电子课件源代码单元7查找课件.ppt
- 数据库技术基础教学课件作者王珊chp1课件.ppt
- 数据库技术基础教学课件作者王珊chp2课件.ppt
- 数据库技术基础教学课件作者王珊chp3课件.ppt
- 数据库技术基础教学课件作者王珊chp4课件.ppt
- 数据库技术基础教学课件作者王珊chp5课件.ppt
- 数据库技术基础教学课件作者王珊chp6课件.ppt
- 数据库技术基础教学课件作者王珊chp7课件.ppt
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
原创力文档

文档评论(0)