赞
踩
排序的基本方法:选择排序
原理跟我们生活十分贴近,从一组数中扫一眼,找到最小的,放到最左边,第二小的放在左起第二个,以此类推!
下面是源代码
#include<stdio.h>
int main(void)
{
int a[10]={6,1,4,5,7,8,9,2,3,10};
int i,k,pos;
for(i=0;i<10;i++)
{
pos=i;
for(k=i+1;k<10;k++)
{
if(a[k]<a[pos])
{
pos=k;
}
}
if(pos!=i)
{
int c;
c=a[i];
a[i]=a[pos];
a[pos]=c;
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
以上是输出结果。
讲解:
设立一个变量存储i的值,由于i是从0开始,也就是说,我们这个pos的值,就是代表了数组中的第几位数字。可以用a[pos]代表需要进行交换的最左边的数字。
遍历数组,如果有数字小于最左端的数字,则记录下他的下标
检查下标是否更换,如果更换了则对下标内的值进行调换。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。