C语言 选择排序算法
#include <stdio.h>
#include <stdlib.h>
//选择排序算法
void selectSort(int *arr,int n)
{
int temp, i, j;
int k;
for(i = 0; i < n - 1; i++)
{
k = i;
for(j = i + 1; j < n; j++)
{//循环遍历查找最小的数
if( arr[k] > arr[j])
{ //避免交换元素的次数过多
k = j;
}
}
if( k != i)
{
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
int main(void)
{
int p[10] = {1, 5, 3, 4, 8, 10, 4, 6, 7, 2};
int i;
selectSort(p, 10);
// 输出
for(i = 0; i < 10; i++)
{
printf("%d ", p[i]);
}
system("pause");
return 0;
}