选择排序——
排序算法的一种。
默认的排序为从小到大排序。
基本思路:从n个关键字序列中找到一个最小值,并把它放到序列首端,再从剩下的n-1个关键字中选择最小值,仍然放到这n-1个关键字的序列首端,以此类推。
简单选择排序:给出一组序列 4 1 2 5 3,对其进行简单选择排序的过程如下:
4
1 2 5 3
1 4 2 5 3
1 2
4 5
3
1 2 3
5 4
1 2 3 4 5
代码如下:
#include <stdio.h>
void SelectSort(int *arr,int len)
{
int tmp;
int minIndex;
for(int i=0;i<len-1;i++)
{
minIndex = i;
for(int j=i+1;j<len;j++)
{
if(arr[minIndex] > arr[j])
{
minIndex = j;
}
}
if(minIndex != i)
{
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}
int main()
{
int arr[] = {6,0,9,7,2,1,5,8,34,52,13,47,88,17,99};
SelectSort(arr,sizeof(arr)/sizeof(arr[0]));
return 0;
}