问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

裸求C语言的各种排序算法,插入法,选择法,2分查找法,快速排序法,

发布网友 发布时间:2022-05-29 08:12

我来回答

2个回答

热心网友 时间:2023-10-12 08:15

//***********************直接插入法**********************************/
# include <stdio.h>
#define Max 15
main()
{
int a[Max],i,j,t;
int length = Max-1;
printf("请输入待排序的%d个记录:",length);
for(i=0;i<length;i++)
scanf("%d",&a[i]);
for(i=1;i<length;i++) /*外循环控制趟数,n个数从第2个数开始到最后共进行n-1次插入*/
{
t=a[i]; /*将待插入数暂存于变量t中*/
for( j=i-1 ; j>=0 && t>a[j] ; j-- ) /*在有序序列(下标0 ~ i-1)中寻找插入位置*/
a[j+1]=a[j]; /*若未找到插入位置,则当前元素后移一个位置*/
a[j+1]=t; /*找到插入位置,完成插入*/
}
printf("直接插入排序后的序列:");
for(i=0;i<length;i++)
printf("%d ",a[i]);
printf("\n");
}
//***********************快速排序**********************************/
# include <stdio.h>#define Max 5
int partions(int a[],int low,int high)
{
int prvotkey=a[low];
a[0]=a[low];
while (low<high)
{
while(low<high&&a[high]>=prvotkey)
--high;
a[low]=a[high];
while (low<high&&a[low]<=prvotkey)
++low;
a[high]=a[low];
}
a[low]=a[0];
return low;
}
void qsort(int a[],int low,int high)
{
int prvotloc;
if(low<high)
{
prvotloc=partions(a,low,high); //将第一次排序的结果作为枢轴
qsort(a,low,prvotloc-1); //递归调用排序 由low 到prvotloc-1
qsort(a,prvotloc+1,high); //递归调用排序 由 prvotloc+1到 high
}
}
void quick_sort(int a[],int n)
{
qsort(a,1,n); //第一个作为枢轴 ,从第一个排到第n个
}

main( )
{
int a[Max],i;
int length = Max-1;
printf(" 这是一个快速排序 \n");
printf("请输入%d个待排序的记录序列:\n",length);
for(i=1;i<length;i++)
scanf("%d",&a[i]);
quick_sort(a,length);
printf("快速排序后的序列:");
for(i=0;i<length;i++)
printf(" %d",a[i]);
printf("\n");
}

手头上只有这两个暂时,其它的排序算法书上都有,主函数的部分基本都一样的,把函数调用部分改一下都可以啦!

热心网友 时间:2023-10-12 08:15

这个,书本上没有吗追问没找到,什么书,谭浩强那本没有

追答李文书

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
十亿韩元折合人民币是多少阿? 邮政银行卡余额查询 邮政储蓄查询余额怎么查 艰难 的国运与雄健的国民读后感500(把以前与现在作对比) 初一下册人教版 艰难的国运与雄健的国民 读后感300字 今日头条哪个版本的有电脑版电脑版今日头条怎么下载 今日头条在电脑上如何安装今日头条怎样就安装到电脑上了 如何评价武庙? 武经总要前集概述 武经总要军事思想 感谢叔叔的关心怎么用语言表达 我感谢叔叔帮助爸爸我说让你操心了能这样说吗 怎样理解社会主义核心价值观就是一种德 空腹吃药容易发胖吗 甲亢吃药后变胖怎么办 有网友称周杰伦是因为身体原因吃药导致的发胖,你知道周杰伦身体怎么了吗? 吃药控制情绪,三天胖八斤!女星马思纯到底经历了啥? 长期服用氯雷他定、盐酸左西替利会引起发胖吗?我用药半年了,正常饮食现在胖了10斤 氢溴酸西酞普兰。吃了一、两盒,半年后胖20斤。是因为吃药变胖的吗? 甲亢吃药后胖了 患者为什么吃药后会越来越胖,脸部浮肿 吃药会胖么 吃药会长胖吗? 长期吃药会发胖么? 吃药会使人变胖吗? 为什么吃药才几天,就感觉自己长胖了好多 为什么长期吃药会发胖 为什么吃药后会胖 吃药为什么会变胖? 为什么吃药,会胖啊,真烦恼。 视频面试靠谱么? 我报名了练习生,并且加上乐华娱乐的经纪人,他说面试的话要微信视频,这是真的吗?我有点怀疑像个*。 微信视频面试一个环保种植公司,过去工作什么都不用带,就带身份证,内裤袜子都提供,不会是传销吧?_百度问一问 问一下,视频面试用多面怎么样?好用吗? photoshop最新版本是什么2015 怎样做俯卧撑,仰卧起坐最有效 正确做仰卧起坐、俯卧撑的姿势 三表毕业证与一、二表毕业证有区别吗? 伊洛纳怎么经营博物馆 黑大 什么 时候 发 毕业证 太原九州家具城便宜吗 伊洛纳怎么自己做神器 血糖偏高可吃黑米饭吗 请问下 ...... 水准仪转点后的议高怎么计算 伊洛纳商业街有必要建吗 500G的硬盘多少钱? 网上怎么买安利净水器滤芯 空气能电暖有什么优点 空气能取暖用的是木地板为啥家里不暖和?