首先從數(shù)組的第二個(gè)元素開始往后遍歷,找出最小的數(shù)放到第一個(gè)位置绩脆。再從剩下數(shù)組中找出最小的數(shù)放到第二個(gè)位置萤厅。以此類推,直到數(shù)組有序
void SelectSort(int *a, int n) {
for (int i = 0; i < n; i++)
{
int key = i; // 臨時(shí)變量用于存放數(shù)組最小值的位置
for (int j = i + 1; j < n; j++) {
if (a[j] < a[key]) {
key = j; // 記錄數(shù)組最小值位置
}
}
if (key != i)
{
int tmp = a[key]; a[key] = a[i]; a[i] = tmp; // 交換最小值
}
}
}
int main() {
int a[] = { 12,4,15,2,6,22,8,10,1,33,45,24,7 };
int n = sizeof(a) / sizeof(int);
SelectSort(a, n);
return 0;
}