实用标准文案
附录(源程序清单)
#include
int key; char otherinfo;
}RecType;*/
//typedef RecType Seqlist[L+1]; int s[100],R[100]; int num;
int times=0,changes=0; //Seqlist R; void Insertsort(); void Bubblesort();
void QuickSort(int low,int high); void Shellsort(); void Selectsort(); void Heap(); int Partition(); void main() {
//Seqlist S; int i,k; char ch1,ch2,q;
精彩文档
实用标准文案
printf(\产生100个随机数:\\n\
srand((unsigned)time(NULL)); for(i=1;i<=L;i++) {
s[i]=rand()0; }
for(i=1;i<=L;i++) {
printf(\ }
printf(\排序数据已经输入完毕!\ for(i=1;i<=L;i++)
R[i]=s[i];
ch1='y';
while (ch1=='y'||ch1=='Y') {
printf(\排 序 性 能 分 析\\n\
printf(\ 1--------直接插入排序 ---------*\\n\ printf(\ 2--------希 尔 排 序 ---------*\\n\
printf(\
printf(\ 3--------冒 泡 排 序 ---------*\\n\ printf(\ 4--------快 速 排 序----------*\\n\ printf(\ 5--------选 择 排 序 ---------*\\n\ printf(\ 6--------堆 排 序----------*\\n\ printf(\ 0--------返 回----------*\\n\
printf(\ printf(\请选择菜单号(0---6):\
scanf(\for(i=1;i<=L;i++)
R[i]=s[i]; switch(ch2)
精彩文档
实用标准文案
}
}
{
case '1':Insertsort();break; case '2':Shellsort();break; case '3':Bubblesort();break;
printf(\尚未排序的数据为(回车继续):\ for(k=1;k<=L;k++)
printf(\ num=0;QuickSort(1,L); break;
getchar();printf(\
case '4':
case '5':Selectsort();break; case '0':ch1='n';break;
default:printf(\输入错误!请重新输入!\\n\\t\\t\
case '6':Heap();break;
if(ch2!='0') {
if(ch2=='2'||ch2=='3'||ch2=='4'||ch2=='5'||ch2=='6'||ch2=='7'||ch2=='8') } }
printf(\排序演示输出完毕!\\n\q=getchar(); if (q!='\\xA') {
getchar();ch1='n'; }
printf(\请按回车键返回主菜单...\
void Insertsort()//直接插入排序 {
精彩文档
实用标准文案
int i,j,k,m=0; for(k=1;k<=L;k++)
printf(\getchar(); printf(\for(i=2;i<=L;i++) {
if(R[i] R[0]=R[i];j=i-1; while(R[0] printf(\尚未排序的数据为(回车继续):\ times++; changes++; } printf(\for(i=1;i<=L;i++) printf(\printf(\ } m++; times++; R[j+1]=R[j];j--; } R[j+1]=R[0]; changes++; printf(\最终排序结果为:\ printf(\直接插入排序的比较次数为%d\ printf(\直接插入排序的移动次数为%d\ times=0; changes=0; 精彩文档 实用标准文案 } void Shellsort() //希尔排序 { int i,j,gap,x,m=0,k; printf(\尚未排序的数据为(回车继续):\ for(k=1;k<=L;k++) printf(\getchar(); printf(\gap=L/2; while (gap>0) { for(i=gap+1;i<=L;i++) { j=i-gap; } gap=gap/2; m++; while(j>0) { } if (R[j]>R[j+gap]) { } j=0; x=R[j];R[j]=R[j+gap]; R[j+gap]=x; j=j-gap; times++; changes++; else 精彩文档 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库几种常见地排序算法地实现与性能分析报告大数据结构课程设计报告(4)在线全文阅读。
相关推荐: