void SelectSort(int arr[], int n)
{
for (int i = 0; i < n; i++)
{
int index = i;
for (int j = i+1; j < n; j++)
{
if (arr[j] < arr[index])
{
index = j;
}
}
if (i!= index )
{
int temp;
temp = arr[index];
arr[index] = arr[i];
arr[i] = temp;
}
}
算法思想:
很好理解,从n-i+1(i=1,2,3…n-1)个元素中找到最小值的index,如果index!=i,则交换a[i]与a[index]
即:首先中n个元素中找到最小的跟a[0]交换,其次从a[0]后面的n-1个元素中找到最小的跟a[1]交换,再次从a[0],a[1]后面的n-2各元素中找到最小的跟a[2]交换,依次类推