求几个数的最小值算法c语言,算法10-9:简单选择排序 (C语言代码)--超详细,求点赞哦!...

解题思路:所谓选择法就是将n个数中最小的数与a[0]对换;再将a[1]-a[n]中最小的数与a[1]对换......没比较一轮,找出一个未经排序的数中最小的一个,共比较n-1轮,下面以5个数为例说明选择排序法的步骤:

a[0] a[1] a[2] a[3] a[4]

3    6    1    9    4

1    6    3    9    4

1    3    6    9    4

1    3    4    9    6

1    3    4    6    9

注意事项:

参考代码:

#include

int main()

{

void choosesort(int *a,int n);   //函数声明

void output(int *a,int n);      //函数声明

int n,a[1000];     //本题要求n不小于1000,数组上限达不到容易运行出错

int i;

scanf("%d",&n);

for(i=0;i

{

scanf("%d",&a[i]);

}

choosesort(a,n);     //调用排序函数

output(a,n);      //调用输出函数

return 0;

}

void choosesort(int *a,int n)   //选择排序算法,接受用指针或数组a[]

{

int i,j,k,t;

for(i=0;i

{

k=i;                  //记录每行的首元素

for(j=i+1;j

if(a[j]

k=j;         //标记出剩余元素中的最小值

t=a[k];a[k]=a[i];a[i]=t;  //将标记的值与首元素进行互换

}

}

void output(int *a,int n)     //输出排好序的数组(指针法效率更高)

{

int *p;

for(p=a;p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值