#include<stdio.h>
void show(int arr[], int length)
{
for(int i=0; i<length; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
void _swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void SelectSort(int arr[], int length)
{
size_t i,j;
int min;
for(i=0; i<length-1; i++)
{
//假設arr[i]為最小的數
min = arr[i];
//通過循環擷取數組中剩餘數中的最小數
for(j=i+1; j<length; j++)
{
if(min > arr[j])
{
_swap(&min, &arr[j]);
}
}
//将最小的數放到正确的位置
if(arr[i] != min)
{
_swap(&arr[i],&min);
}
}
}
int main()
{
int arr[10] = {2,1,5,4,3,9,8,7,6,0};
SelectSort(arr,10);
show(arr, 10);
return 0;
}
轉載于:https://www.cnblogs.com/eternal1025/p/4427963.html