所谓选择排序,就是将一个数组的最小的元素放到a[0],然后将出a[0]外的最小的(即是第二小的)放在a[1]。
#include <stdio.h>
void Select_sort(int a[], int n);
int main(void)
{
int n, i;
printf("请输入你想排序的数目:");
scanf("%d", &n);
int a[n];
printf("请输入%d个数:", n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
Select_sort(a, n);
for(i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
return 0;
}
void Select_sort(int a[], int n)
{
int i,j,k;
int temp;
for(i = 0; i < n; i++)
{
for(k = i, j = k + 1; j < n; j++)
if(a[k] > a[j])
k = j;
if(k != j)
{
temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
}