中易网

关于C语言一维数组排序问题

答案:3  悬赏:0  
解决时间 2021-01-17 13:34
关于C语言一维数组排序问题
最佳答案
冒泡排序法:

#include

void main()
{ int a[5]={5,4,3,2,9},i,k,temp;
for(k=0;k<5;k++)
{for(i=k+1;i<5;i++)
if(a[k] {temp=a[k];
a[k]=a[i];
a[i]=temp;
}

printf(" %d",a[k]);
}
getch();

}

以下是各种基本排序的算法,有时间可以看看

选择排序:

#include "stdio.h"
#define N 5
main()
{
int i,j,k,t;
int a[N];
printf("请输入五位数:\n");
for(i=0;i scanf("%d",&a[i]);
for(i=0;i {
k=i;
for(j=i+1;j if(a[k]>a[j]) k=j;
if(i!=k)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i printf("%d\t",a[i]);
printf("\n");
}

插入排序法:

#include "stdio.h"
#define N 5
main()
{
int i,j,k;
int a[N];
printf("请输入五位数:\n");
for(i=0;i scanf("%d",&a[i]);
for(i=0;i {
k=a[i];
j=i-1;
while(j>=0&&k {
a[j+1]=a[j];
j--;
}
a[j+1]=k;
}
for(i=0;i printf("%d\t",a[i]);
printf("\n");
}

shell排序法:

#include "stdio.h"
#define N 10
main()
{
int i,j,k,m,flag;
int a[N]={10,33,23,45,12,67,44,22,33,18};
m=N;
while(m>1)
{
m=(m+1)/2;
do
{
flag=0;
for(i=0;i {
j=i+m;
if(a[i]>a[j])
{
k=a[i];a[i]=a[j];a[j]=k;flag=1;
}
}
}while(flag);
}
for(i=0;i printf("%d ",a[i]);
printf("\n");
}

如果对你有所帮助,请记得采纳最佳答案,谢谢!
全部回答
你的思路不清晰
#include "stdio.h"
main()
{
int a[5]={5,4,3,2,9},i,j,t;
for(i=4;i>0;i--)
for(j=0;j {
if(a[j]>a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
for(i=0;i<5;i++)
printf("%3d",a[i]);
}
你试试看有问题没
#include
#include
void main()
{
int a[5]={5,4,3,2,9},i,k,min,temp;

for(k=0;k<5;k++)
{
for(i=1;i<5;i++)

if(a[i]
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
printf(" %d",a[k]);
}
system("pause");
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
测量电压,电流,功率时,外部负载在交直流电
闪亮爱跟爱闪亮是两部吗
我的烤箱是三相五线的,怎么接220伏的电??
以《我最喜爱的美丽风景》为题写一篇800字的
求以西方历史为背景的玄幻小说指导
泰国清迈玩的时候可以和佛像照相吗?是不是不
内田有纪的女友
欠债20万,还能继续活吗
恒祥家纺地址有知道的么?有点事想过去
可以同时使用v+sb to do sth 和v+doing 形式
天天炫斗卢卡斯有什么技能搭配?
昔楚人有宿于其友之家者 友人是一个怎样的人
魔方怎么弄快
传奇世界荣誉勋章44号什么时候可以带啊
隔离霜和cc霜先擦哪个?
推荐资讯
四川到苏州顺风快递需要多久
从淮南洞山九龙湾去喜和酒店坐几路车
雪梨可以和牛奶一起吃吗
CF手游什么时候出98k
用王生取个名字,中间那个字是生
红壳车桥润滑油可以加面包车吗?
我的京东白条欠了3个月了,今天全部还清了,
姐妹们,问你个私密话题:你们的男朋友或老公
女性颧骨高真的克夫吗
托福和托福junior有什么不同
09丨怎么才能申请成功成为贴吧吧主
乔丹小时候的故事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?