没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
数据结构课程设计五——排序算法综合分
析
I’m 段剀越^_^
******************感谢郭鹏老师和史绍强老师耐心指点************
*******
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <cstdlib>
//#dene clock_t start
//#dene clock_t complete
#dene MAXSIZE 2000 //排序表的最大容量
int cn,mn;
typedef struct //定义排序表的结构
{
int elemword[MAXSIZE]; //数据元素关键字
int count; //表中当前元素的个数
}SqList;
void InitialSqList(SqList&); //初始化排序表
void PrintSqList_after(SqList); //显示表中的已排序完毕的元素
void PrintSqList_before(SqList); //显示表中的未排序完毕的元素
void InsertSort(SqList&); //直接插入排序
void ShellSort(SqList &,int [],int);//希尔排序
void ShellInsert(SqList&,int); //一趟希尔排序
void QuickSort(SqList &); //快速排序
void QSort(SqList &,int,int); //子序列快速排序
int Partition(SqList &,int,int); //一趟快速排序
void BubbleSort(SqList&); //冒泡排序
void HeapSort(SqList &L);//堆排序
void HeapAdjust(SqList &L,int s);//使 SqList 成为一个大顶堆
void MergeSort(SqList &,SqList &,int low,int mid,int high);//归并法排
序
void MSort(SqList &,SqList &,int low,int high);//归并法递归调用
//////////////////////////////////////////////////////////////////
////////////
//////////////////////////////////////////////////////////////////
///////////
void InitialSqList(SqList &L)
{//表初始化
int i,j;
printf("请输入待排序的记录的个数:");
scanf("%d",&L.count);
cout<<"请选择:1.手动输入 2.电脑随机输入 (选择 1 或者 2)"<<endl;
cin>>j;
switch(j)
{
case 1:{
printf("请输入待排序的记录的关键字(整型数):\
n");
for(i=1;i<=L.count;i++)
scanf("%d",&L.elemword[i]);
};break;
case 2:{
srand(time(NULL));
for(int i=1;i<=L.count;i++)
{
L.elemword[i]=rand()%50+1;
}
PrintSqList_before(L);
};break;
default:cout<<"Are you kidding?"<<endl;
}
}
void PrintSqList_after(SqList L)
{//显示表中的已排序完毕的元素
int i;
printf("排序后的序列如下:\n");
for(i=1;i<=L.count;i++)
printf("%4d",L.elemword[i]);
printf("\n");
}
void PrintSqList_before(SqList L)
{//显示表中的未排序完毕的元素
int i;
printf("排序前的序列如下:\n");
for(i=1;i<=L.count;i++)
printf("%4d",L.elemword[i]);
printf("\n");
}
//////////////////////////////////////////////////////////////////
////////////
//////////////////////////////////////////////////////////////////
///////////
void InsertSort_main()
{
SqList L; //声明表 L
char j='y';
printf("本程序将演示直接插入排序的操作。\n");
while(j!='n'&&j!='N')
{
InitialSqList(L);
InsertSort(L);
printf("继续进行下一次排序吗?(Y/N)");
scanf(" %c",&j);
}
printf("程序运行结束!\n 返回选择界面!\n");
getchar();getchar();
//exit(0);
}
剩余13页未读,继续阅读
资源评论
- #3802022-10-02资源很赞,希望多一些这类资源。
- m0_614938682023-06-19发现一个宝藏资源,赶紧冲冲冲!支持大佬~
- 小刘的编程之旅2023-08-11发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
- jshxxzx2022-06-29用户下载后在一定时间内未进行评价,系统默认好评。
- dhjsbxu2024-01-17终于找到了超赞的宝藏资源,果断冲冲冲,支持!
悠闲饭团
- 粉丝: 150
- 资源: 3301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功