C语言 | 选择排序

57 阅读1分钟

例83:C语言用选择排序对10个数进行排序。

解题思路:选择排序是指第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾,,直到全部待排序的数据元素的个数为零。

C语言源代码演示:

#include<stdio.h>// 头文件 
int main() // 主函数 
{
	int data[]={26,54,93,17,71,31,44,55,20}; // 定义一个数组 
	 int i,j,n=9; // 定义变量 
	 int min = 0;  // 定义最小值 
	 for(i=0;i<n-1;i++) // 外层循环 
	 {
	   min = i; // 外层每循环一次,将i的值赋给min 
	   for(j=i+1;j<n;j++)// 内层循环 
	   {
	     if(data[min]>data[j])
	     {
	       min = j;
	     }
	   }
	   int temp = data[min];  // 交换位置 
	   data[min] = data[i];
	   data[i] = temp;
	 }
	 printf("排序后的:");
	 for(i=0;i<n;i++) // 输出排序后的 
	 {
	 	printf("%d ",data[i]);
	 }
	return 0;
}

编译运行结果:

排序后的:17 20 26 31 44 54 55 71 93
--------------------------------
Process exited after 0.06952 seconds with return value 0
请按任意键继续. . .

以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~