1、基本思想
每次找最大的数放在数组的最后面
select_sort.c
#include <stdio.h>
int find_max_pos(int arr[], int n)
{
int max = arr[0];
int pos = 0;
int i;
for(i=0; i<n-1; i++)
{
if(arr[i]>max)
{
pos = i;
}
}
return pos;
}
void select_sort(int arr[], int n)
{
while(n>1)
{
int pos = find_max_pos(arr, n);
int temp = arr[pos];
arr[pos] = arr[n-1];
arr[n-1] = temp;
n--;
}
}
int main(){
int arr[] = {4, 6, 7, 9, 2, 9};
int n = 6;
select_sort(arr,n);
int i;
for(i=0; i<6; i++)
{
printf("select sort = %d\n",arr[i]);
}
return 0;
}