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

(最新版)数据结构毕业课程设计_排序算法比较【完整版】

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

}

}

for(j=1;j<=L.length-i;j++) { }

if(L.r[j]>L.r[j+1]) { }

前面的数据>后面数据时

t=L.r[j+1];

L.r[j+1]=L.r[j]; L.r[j]=t; 将元素交换

return OK;

**************************************************** 快速排序

**************************************************** int Partition(Sqlist &L, int low, int low; }Partition函数

void Qsort (Sqlist &L,int low, int (L, low , ERROR;

}

Qsort(L,1,L.length); return OK;

}QuickSort

********************************************** 选择排序

********************************************** Status ChooseSort(Sqlist &L) {

int i,j,k,t; if(L.length==0) {

printf(\没有数据!\return ERROR;

13 }

}

for(i=1;i<=L.length;i++) 排序的趟数 { }

return OK;

k=i;

for(j=i+1;j<=L.length;j++) 比较第i个元素以及其后的数据中最小的 { }

if(i!=j) 将最小数据赋值给L.r[i] { }

t=L.r[i]; L.r[i]=L.r[k]; L.r[k]=t; if(L.r[j]

k=j;

**************************************** 堆排序 ****************************************

Status HeapAdjust(Sqlist &L,int s,int m) 调整L.r[s]的关键字,使L.r[s~m]成大顶堆 {

int i; L.r[0]=L.r[s];

for(i=2*s;i+1<=m;i*=2) 沿数据较大的孩子结点向下筛选 {

if(i

if(L.r[0]>=L.r[i]) L.r[0]插入在S位置上

i++;

14 }

}

break;

L.r[s]=L.r[i]; s=i;

插入新数据

L.r[s]=L.r[0]; return OK;

Status HeapSort(Sqlist &L) 堆排序 { }

************************************************** 基数排序

************************************************** typedef struct node{

int i,t;

if(L.length==0) { }

for(i=L.length2;i>0;i--)

for(i=L.length;i>1;i--) { }

return OK;

t=L.r[1]; 将堆顶记录和当前未经排序的子序列L.r[1..i]中最后一个记录互换 L.r[1]=L.r[i]; L.r[i]=t;

HeapAdjust(L,1,i-1); 将L.r[1..i-1]重新调整为大顶堆 HeapAdjust(L,i,L.length); printf(\没有数据!\return ERROR;

15

int key; node *next;

RadixSort(Sqlist L)

}RecType; Status { }

int t,i,j,k,d,n=1,m;

RecType *p,*s,*q,*>0) 将每个元素分配至各个链队 { } i=1;

while(p!=NULL) 将链表转换为顺序表 { }

return OK;

L.r[i]=p->key; i++; p=p->next;

for(j=0;j<10;j++) 初始化各链队首、尾指针 { m=1;

while(m<=L.length) 判断当L中的元素都除d后是不是都为零了 { }

if((L.r[m]d)!=0) { } else

m++; n++; m++;

=0;

16

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