选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。
1 void SelectSort(int unsort[],const int count) 2 { 3 int i, j, index; 4 int temp; 5 for (i = 0; i < count;i++) 6 { 7 index = i; 8 for (j = i + 1; j < count;j++) 9 { 10 if (unsort[j]<unsort[index]) 11 { 12 index = j; 13 } 14 } 15 if (index!=i) 16 { 17 temp = unsort[index]; 18 unsort[index] = unsort[i]; 19 unsort[i] = temp; 20 } 21 } 22 }
测试
1 int main() 2 { 3 int unsort[] = {2,5,7,4,6,9}; 4 SelectSort(unsort, 6); 5 for (int i = 0; i < 6;i++) 6 { 7 printf("%d\r",unsort[i]); 8 } 9 return 0; 10 }
时间: 2024-12-25 20:43:38