教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

课程设计-排序算法比较(3)

来源:网络收集 时间:2026-01-21
导读: 六.程序清单 #include \#include \#include \计时 #define ERROR 0 #define OK 1 #define OVERFLOW -2 #define MAXSIZE 99999 //用户自己规定排序的数字的长度 typedef int sequenlist; typedef struct { int *r;

六.程序清单

#include \#include \#include \计时 #define ERROR 0 #define OK 1 #define OVERFLOW -2

#define MAXSIZE 99999 //用户自己规定排序的数字的长度 typedef int sequenlist; typedef struct {

int *r; // r[0]闲置

int length; //顺序表的总长度 }Sqlist;

//构造一个空线性表

sequenlist InitSqlist(Sqlist &L) {

L.r=(int *)malloc(MAXSIZE*sizeof(int));

//分配存储空间

if(!L.r) {

printf(\存储分配失败!\exit(0);

11

}

} //存储分配失败

L.length=0;//初始长度为0 return OK;

//输入随机数并显示在界面上

sequenlist ScanfSqlist(int &N,Sqlist &L) { int i;

printf(\请输入要排序的元素个数N: \

scanf(\

for(i=1;i<=N;i++) }

//下面为输出排序之后的数据函数

12

L.r[i]=rand(); //随机产生样本整数

printf(\

printf(\随机产生了%d个随机数,它们是:\\n\for(i=1;i<=N;i++) { }

printf(\

L.length=N; //存储线性表的长度 return OK;

printf(\

sequenlist PrintfSqlist(int N,Sqlist L) { int i;

printf(\数据个数:\输出数据个数 printf(\

printf(\排序后的数据:(从左向右依次增大)\\n\输出数据 for(i=1;i<=N;i++)

printf(\

printf(\

return OK; }

//下面为直接插入排序函数 sequenlist InsertSort(Sqlist &L) {

for(i=2;i<=L.length;i++)

13

int i,j;

if(L.length==0) { }

printf(\要排序的数据为空!\return ERROR;

}

{ }

return OK;

if(L.r[i]

L.r[0]=L.r[i]; //复制为监视哨

L.r[i]=L.r[i-1]; for(j=i-2;L.r[0]

L.r[j+1]=L.r[0]; //插入到正确位置

L.r[j+1]=L.r[j]; //记录后移

//下面为起泡排序函数

sequenlist BubbleSort(Sqlist &L) {

if(L.length==0) {

14

int i,j,t;

}

}

printf(\要排序的数据为空!\return ERROR;

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

return OK;

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; //将元素交换

// 下面为选择排序函数

sequenlist ChooseSort(Sqlist &L) {

int i,j,k,t;

15

课程设计-排序算法比较(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/593660.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)