
选组排序法的基本原理:将第零个元素和第一个,第二个............进行比较,如果R[0]>R[1],则交换,在用第一个元素和它后面的元素比较,在交换,直到结束。
程序例子:
#nclude<stdio.h>
#define N 10
main()
{
int a[N],i,j,m;
printf("输入十个数字");
for (i=0;i=N;i++) printf("%d",a[i]);
printf("\n");
for (i=1;i<N-1;i++)
for (j=i+1;j<N;j++)
{
if (a[i]>a[j])
{
m=a[i];a[i]=a[j];a[j]=m;
}
}
printf("排序后:");
for(i=0,i<N;i++) printf("%d",a[i]);
printf("\n");
}
过程分析:假设开始序列为10,9,7,6,8,5,3,1,2,4;
当i=0时,j取1--9,即a[0]分别与a[1],a[2]..........比较,本次排序后结果为:1,10,9,7,8,6,5,3,2,4;
当i=1时,j取2--9,即a[1]分别与a[2],a[3]...........比较,本次结果为:1,2,10,9,87,6,5,3,4;
. .........
一直到a[8]和a[9]比较结束。
分类: 个人日记
本文章引用通告地址(TrackBack Ping URL)为: 

本文章尚未被引用。
下一篇: 爱原来就只有一小步
上一篇: 对一维数组排序的两种方法之一 冒泡排序

