前言
c语言中有很多排序方式,常见的有冒泡排序,选择排序,简单插入排序,希尔排序,快速排序等等,今天简单说一下选择排序吧~
一、选择排序是什么?
选择排序就是通过反复地求最大值的方式实现排序的
二、编程思路
1.讲解
(1)首先将5个数存入一堆数组中;
(2)然后找出5个数中的最大数,放入a【0】中;
(3)再找出5个数中的第二大数,放入a【1】中;
(4)顺序以此类推,然后找出5个数中最小的,置于a【4】中,从而完成降序排序;
2.例子
代码如下(示例):
先引用一段网上的动画清楚的展示:
#include<stdio.h>
int main()
{
int arr[10]={1,3,6,5,2,4,8,9,7,0};
for(int i=0;i<9;i++)
{
for(int j=i+1;j<10;j++)
{
if(arr[i]>arr[j])
{
int t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
for(int i=0;i<10;i++){
printf("%d\n",arr[i]);
}
}
方法和冒泡排序大体相同,还是外层for语句判断循环次数,内层比较两数比较
结果为0123456789
总结
选择排序和冒泡排序大体相似,原理都是循环嵌套,只是换了一个循环条件