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

c语言归并、选择、直接插入、希尔、冒泡、快速、堆排序与顺序、(2)

来源:网络收集 时间:2026-05-15
导读: printf(开始使用顺序查询.\n请输入你想要查找的数据.\n); scanf(%d,data); for(i=0;iLength;i++) if(fp[i]==data) { printf(经过%d次查找,查找到数据%d,表中位置为%d.\n,i+1,data,i); return ; } printf(经过%d次查

printf("开始使用顺序查询.\n请输入你想要查找的数据.\n"); scanf("%d",&data); for(i=0;i<Length;i++) if(fp[i]==data)

{

printf("经过%d次查找,查找到数据%d,表中位置为%d.\n",i+1,data,i); return ;

}

printf("经过%d次查找,未能查找到数据%d.\n",i,data); }

/*二分查找*/

void Search(int *fp,int Length) {

int data;

检查一下,没什么问题,可直接运行使用。注释很详细相信各位朋友都能看明白吧。小熊免费分享。搜集于网络,精心整理,服务大家。各种常见排序方法基本在这里啦。

intbottom,top,middle;

inti=0;

printf("开始使用二分查询.\n请输入你想要查找的数据.\n"); scanf("%d",&data);

printf("由于二分查找法要求数据是有序的,现在开始为数组排序.\n"); Sort(fp,Length);

printf("数组现在已经是从小到大排列,下面将开始查找.\n"); bottom=0; top=Length; while (bottom<=top) {

middle=(bottom+top)/2; i++;

if(fp[middle]<data) {

bottom=middle+1; }

else if(fp[middle]>data) {

top=middle-1; }

else {

printf("经过%d次查找,查找到数据%d,在排序后的表中的位置为%d.\n",i,data,middle); return; } }

printf("经过%d次查找,未能查找到数据%d.\n",i,data); }

void Sort(int *fp,int Length) { int temp; inti,j,k;

printf("现在开始为数组排序,排列结果将是从小到大.\n"); for(i=0;i<Length;i++) for(j=0;j<Length-i-1;j++) if(fp[j]>fp[j+1]) {

temp=fp[j]; fp[j]=fp[j+1];

fp[j+1]=temp; }

printf("排序完成!\n下面输出排序后的数组:\n");

检查一下,没什么问题,可直接运行使用。注释很详细相信各位朋友都能看明白吧。小熊免费分享。搜集于网络,精心整理,服务大家。各种常见排序方法基本在这里啦。

for(k=0;k<Length;k++) {

printf("%5d",fp[k]); }

printf("\n"); }

void main() {

int start=0,end=3; int *p, i, a[MAX]; int count=MAX; intarr[MAX]; intchoise=0;

/*printf("请输入你的数据的个数:\n"); scanf("%d",&count);*/

/* printf("请输入%d个数据\n",count); for(i=0;i<count;i++) {

scanf("%d",&arr[i]); }*/

/*录入测试数据*/ input(a);

printf("随机初始数组为:\n"); output(a); printf("\n"); do

{

printf("1.使用顺序查询.\n2.使用二分查找法查找.\n3.退出\n"); scanf("%d",&choise); if(choise==1)

SequenceSearch(a,count); else if(choise==2) Search(a,count); else if(choise==3) break;

} while (choise==1||choise==2||choise==3);

/*录入测试数据*/ input(a);

printf("随机初始数组为:\n"); output(a); printf("\n");

检查一下,没什么问题,可直接运行使用。注释很详细相信各位朋友都能看明白吧。小熊免费分享。搜集于网络,精心整理,服务大家。各种常见排序方法基本在这里啦。

p = a;

printf("选择排序之后的数据:\n"); select_sort(p,MAX); output(a); printf("\n");

system("pause"); /**/

/*录入测试数据*/ input(a);

printf("随机初始数组为:\n"); output(a); printf("\n");

/*测试直接插入排序*/

printf("直接插入排序之后的数据:\n"); p = a;

insert_sort(p,MAX); output(a); printf("\n"); system("pause"); /*录入测试数据*/

input(a);

printf("随机初始数组为:\n"); output(a); printf("\n");

/*测试冒泡排序*/

printf("冒泡排序之后的数据:\n"); p = a;

insert_sort(p,MAX); output(a); printf("\n");

system("pause"); /*录入测试数据*/ input(a);

printf("随机初始数组为:\n"); output(a); printf("\n");

/*测试快速排序*/

printf("快速排序之后的数据:\n"); p = a;

quick_sort(p,0,MAX-1); output(a); printf("\n");

system("pause");

检查一下,没什么问题,可直接运行使用。注释很详细相信各位朋友都能看明白吧。小熊免费分享。搜集于网络,精心整理,服务大家。各种常见排序方法基本在这里啦。

input(a);

printf("随机初始数组为:\n"); output(a); printf("\n");

/*测试堆排序*/

printf("堆排序之后的数据:\n"); p = a;

heap_sort(p,MAX); output(a); printf("\n"); system("pause"); /*录入测试数据*/ input(a);

printf("随机初始数组为:\n"); output(a);

printf("\n"); /*测试归并排序*/

printf("归并排序之后的数据:\n"); p = a;

MergeSort(a,start,end); output(a); printf("\n");

system("pause"); }

…… 此处隐藏:969字,全部文档内容请下载后查看。喜欢就下载吧 ……
c语言归并、选择、直接插入、希尔、冒泡、快速、堆排序与顺序、(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/128611.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)