标签:简单 ios include 动态效果 选择排序 dex main AC 效果
简单选择排序是一种选择排序。
选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。
简单排序很简单,它的大致处理流程为:
动态效果示意图:
举例说明,处理过程示意图如下所示:
如图所示,每趟排序中,将当前第 i 小的元素放在位置 i 上。
代码:
C++
1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 vector<int> SelectSort(vector<int> list) 6 { 7 vector<int> result = list; 8 for (int i = 0; i < result.size(); i++) 9 { 10 int index = i; // 用来保存最小值得索引 11 12 for (int j = i + 1; j < result.size(); j++) 13 { 14 if (result[j] < result[i]) 15 index = j; 16 } 17 18 swap(result[i], result[index]); 19 cout << "第" << i + 1 << "趟:\t"; 20 for (int i = 0; i < result.size(); i++) 21 cout << result[i] << " "; 22 cout << endl; 23 } 24 return result; 25 } 26 27 int main() 28 { 29 int arr[] = { 6, 4, 8, 9, 2, 3, 1 }; 30 vector<int> test(arr, arr + sizeof(arr) / sizeof(arr[0])); 31 cout << "排序前" << endl; 32 for (int i = 0; i < test.size(); i++) 33 cout << test[i] << " "; 34 cout << endl; 35 36 vector<int> result; 37 result = SelectSort(test); 38 cout << "排序后" << endl; 39 for (int i = 0; i < result.size(); i++) 40 cout << result[i] << " "; 41 cout << endl; 42 }
输出结果:
标签:简单 ios include 动态效果 选择排序 dex main AC 效果
原文地址:https://www.cnblogs.com/sunbines/p/9157504.html