C语言 | 选择排序
Posted C语言入门到精通
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 | 选择排序相关的知识,希望对你有一定的参考价值。
“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”
作者
闫小林
白天搬砖,晚上做梦。我有故事,你有酒么?
例83:C语言用选择排序对10个数进行排序。
解题思路:选择排序是指第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾,,直到全部待排序的数据元素的个数为零。
C语言源代码演示:
#include<stdio.h>//头文件
int main()//主函数
{
int i,j,temp,array[11];//定义变量
printf("请输入10个数:\n");//提示语句
for(i=1;i<=10;i++)
{
scanf("%d",&array[i]);
}
for(i=1;i<=9;i++)//外层循环
{
for(j=i+1;j<=10;j++)//内层循环
{
if(array[i]>array[j]) //如果前一个数比后一个数大,则利用中间变量t实现两值互换
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
printf("\n排序后顺序:\n");//提示语句
for(i=1;i<=10;i++)//输出排序后的数
{
printf("%5d",array[i]);
}
printf("\n");//换行
return 0;//函数返回值为0
}
请输入10个数:
10 9 8 2 7 6 1 3 0 11
排序后顺序:
0 1 2 3 6 7 8 9 10 11
--------------------------------
Process exited after 15.27 seconds with return value 0
请按任意键继续. . .
以上是关于C语言 | 选择排序的主要内容,如果未能解决你的问题,请参考以下文章
8种面试经典!排序详解--选择,插入,希尔,冒泡,堆排,3种快排,快排非递归,归并,归并非递归,计数(图+C语言代码+时间复杂度)