您的位置:首页 > 其它

C 语言经典题目系列解决方案(8)-选择排序

2010-09-16 09:44 344 查看
main(){
	int n=10,i,j,k;
	int numbers[10];
	int temp;
    
	/*生成一个数组*/
	for (i=0;i<n;i++){
        numbers[i]=(int)rand()%100;
		printf("%3d",numbers[i]);
		if (i==n-1) printf("/n");
	}
    
	/*开始选择排序*/
    for (i=0;i<n;i++){
	   temp=numbers[i];
	   k=i;/*这句代码的目的是保证:如果当前i的位置已经正确,不再和上次得到的k进行交换。*/
	  
	   for (j=i+1;j<n;j++){
		   if (numbers[j]<temp){temp=numbers[j];k=j;}
	   }
	   
	   /*交换*/
	   temp=numbers[i];
	   numbers[i]=numbers[k];
	   numbers[k]=temp;

	}

	/*输出排序后的数组*/
	for (i=0;i<n;i++){
		printf("%3d",numbers[i]);
	}

      getchar();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: