第一范文网 - 专业文章范例文档资料分享平台

数据结构实验--各种排序算法的比较

来源:用户分享 时间:2025/5/29 9:58:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

for(i=1;a[i]!=88;i++){}l=i;i=0; a=MSort(a, a, 1, l); return a; } // MergeSort

int * HeapAdjust(int H[], int s, int m) { int j; int rc; rc = H[s];

for (j=2*s; j<=m; j*=2) { // 沿key较大的孩子结点向下筛选 if (j= H[j]) break; // rc应插入在位置s上 H[s] = H[j]; s = j; }

H[s] = rc; // 插入 return H;

} // HeapAdjust

int * HeapSort(int H[]) { // 算法10.11 // 对顺序表H进行堆排序。 int i,l; int temp;

for(i=1;H[i]!=88;i++){}l=i;i=0;

for (i=l/2; i>0; --i) // 把H.r[1..H.length]建成大顶堆 HeapAdjust ( H, i, l ); for (i=l; i>1; --i) { temp=H[i]; H[i]=H[1];

H[1]=temp; // 将堆顶记录和当前未经排序子序列Hr[1..i]中 // 最后一个记录相互交换

HeapAdjust(H, 1, i-1); // 将H.r[1..i-1] 重新调整为大顶堆 }return H; } // HeapSort

void main() {

int a[N];int n,p;int l,h; int i=1;int * t;

printf(\输入需要排序的数组,以‘88’结束。\\n\ do{

scanf(\ i++;

}while((a[i-1])!=88);

top: printf(\选择需要的排序方法:\\n\ printf(\、直接插入排序(有序表)\\n\ printf(\、折半插入排序(有序表)\\n\ printf(\、冒泡排序\\n\ printf(\、快速排序\\n\ printf(\、直接选择排序\\n\ printf(\、堆排序\\n\ printf(\、归并排序\\n\ printf(\、不用了\\n\ scanf(\ switch(n) {

case 1:printf(\输入需要插入的数据:\\n\ scanf(\

t=InsertSort(a,p); i++;

for(i=1;t[i]!=88;i++) {printf(\ printf(\ break;

case 2:printf(\输入需要插入的数据:\\n\ scanf(\ t=BInsertSort(a,p); for(i=1;t[i]!=88;i++) {printf(\ printf(\ break;

case 3:t=BubbleSort(a);

for(i=1;t[i]!=88;i++) {printf(\ printf(\ break;

case 4:printf(\输入区间:\ scanf(\ scanf(\

t=QuickSort(a,l,h); for(i=1;t[i]!=88;i++) {printf(\ printf(\

}

break;

case 5:t=SSSort(a);

for(i=1;t[i]!=88;i++) {printf(\ printf(\ break;

case 6:t=HeapSort(a);

for(i=1;t[i]!=88;i++) {printf(\ printf(\ break;

case 7:t=HeapSort(a);

for(i=1;t[i]!=88;i++) {printf(\ printf(\ break;

case 8:printf(\ break; }

if(n!=8) goto top;

搜索更多关于: 数据结构实验--各种排序算法的比较 的文档
数据结构实验--各种排序算法的比较.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3ti0y9r4jr3qhty4wk5u_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top