云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构课程设计排序算法总结

数据结构课程设计排序算法总结

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 3:04:34

high--; L.elem[0]=L.elem[low]; L.elem[low]=L.elem[high]; L.elem[high]=L.elem[0];

while(low

return low; }

void QSort(SqList &L,int low,int high) {

//对顺序表L中的子序列L.elem[low...high]进行快速排序 int pivot=0; if(low

void QuickSort(SqList &L) {

QSort(L,1,L.length); }

//堆排

void HeapAdjust(SqList &L,int s,int m) {

int j=0;

L.elem[0]=L.elem[s]; for(j=2*s;j<=m;j*=2) { if(j

s=j; }

L.elem[s]=L.elem[0]; }

void HeapSort(SqList &L) {

int i=0;

for(i=L.length/2;i>0;i--)

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

L.elem[0]=L.elem[1]; L.elem[1]=L.elem[i]; L.elem[i]=L.elem[0]; HeapAdjust(L,1,i-1); } }

//归并

void Merge(SqList L,SqList &L1,int i,int m,int n) {

int j=0,k=0,p=0,q=0;

for(j=m+1,k=i;i<=m&&j<=n;++k) { if(L.elem[i]

if(i<=m) for(p=k,q=i;q<=m;p++,q++) L1.elem[p]=L.elem[q]; if(j<=n) for(p=k,q=j;q<=n;p++,q++) L1.elem[p]=L.elem[q]; }

void MSort(SqList L,SqList &L1,int s,int t) {

SqList L2; int * p;

if((p=(int *)malloc((t-s+1)*sizeof(int)))==0) 序表存储空间

//动态分配顺 { printf(\.\\n\ exit(1); }

L2.elem=p;

L2.length=t-s+1;

int m=0; if(s==t) L1.elem[s]=L.elem[s]; else { m=(s+t)/2; MSort(L,L2,s,m); MSort(L,L2,m+1,t); Merge(L2,L1,s,m,t); } }

void MergeSort(SqList &L) {

MSort(L,L,1,L.length); }

搜索更多关于: 数据结构课程设计排序算法总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

high--; L.elem[0]=L.elem[low]; L.elem[low]=L.elem[high]; L.elem[high]=L.elem[0]; while(low

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com