选择排序法是一种排序算法,跟冒泡算法一样也是一种常用的排序算法。
例如将int arr[]数组内的元素按照升序排序
原理:通过循环嵌套,将前后两个数比较大小,如果前者比后者大,两者交换位置。
两个循环之间的关系比较紧密,切勿不可写错。
代码:
#include<stdio.h>
void main()
{
//定义数组
int arr[] = { 1,0,5,3,2,1,7,3,5,6 };
//升序
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) - 1; i++)
for (int j = i + 1; j < sizeof(arr) / sizeof(arr[0]); j++)
if (arr[i] > arr[j])//如果是降序则相反
{
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
for (int i = 0; i < 10; i++)
printf("%d ", arr[i]);
}