直接选择排序

直接选择排序:

基本思想:把一个无序集中的最小值选择出来放到有序集中

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;
 }
 

  

 

posted @ 2016-04-14 16:25  boer儿  阅读(157)  评论(0编辑  收藏  举报