直接选择排序:
基本思想:把一个无序集中的最小值选择出来放到有序集中
C语言代码:
-
#include<stdio.h>
-
#define MAX 225
-
-
int R[MAX];
-
//直接选择排序
-
void Select_Sort(int n)
-
{
-
int i,j,k;
-
for(i=1;i<n;i++)
-
{
-
k=i;
-
for(j=i+1;j<=n;j++)
-
{
-
if(R[j]<R[k])
-
k=j;
-
}
-
if(k!=i)
-
{
-
R[0]=R[i];
-
R[i]=R[k];
-
R[k]=R[0];
-
}
-
}
-
}
-
-
int main()
-
{
-
int i,n;
-
printf("直接选择示例:\n");
-
printf("Please input the n above 1 and below %d\n",MAX);
-
scanf("%d",&n);
-
if(n<1||n>MAX)
-
{
-
printf("Please input right n!");
-
return 0;
-
}
-
printf("Please input the array under n one by one:\n");
-
for(i=1;i<=n;i++)
-
{
-
scanf("%d",&R[i]);
-
}
-
printf("The array you input is:\n");
-
for(i=1;i<=n;i++)
-
{
-
printf("%d ",R[i]);
-
}
-
Select_Sort(n);
-
printf("The array after Quick_Sort is:\n");
-
for(i=1;i<=n;i++)
-
{
-
printf("%d ",R[i]);
-
}
-
return 0;
-
}
阅读(880) | 评论(0) | 转发(0) |