C语言—选择排序
Posted 橙子果果
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言—选择排序相关的知识,希望对你有一定的参考价值。
C语言
在一个数组中输入需要排序的数,然后将这一串数从小到大排序后输出
#include <stdio.h>
int main()
int a[] = 8,13,12,9,7; //定义一个数组,不给定数组的大小,可以随意加减数组的元素
int len = sizeof(a)/sizeof(a[0]); //定义一个len来计算数组的大小
int i,j;
int tmp;
for(i=0;i<len-1;i++)
for(j=i+1;j<len;j++)
if(a[i] > a[j])
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
for(i=0;i<len;i++)
printf("%d ",a[i]);
return 0;
运行的结果:
如果想要逆序输出,只需将
a[i] > a[j]) 中的判断大小方向改变就行。
sizeof(a)/sizeof(a[0])
选择排序原理:
1.从第一个元素开始,该元素可以认为已经被排序;
2.取出下一个元素,在已经排序的元素序列中从后向前扫描;
3.如果该元素(已排序)大于新元素,将该元素移到下一位置;
4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;
5.将新元素插入到该位置后;
重复步骤2~5。
以上是关于C语言—选择排序的主要内容,如果未能解决你的问题,请参考以下文章