选择排序【代码】
思路参考:
http://www.cnblogs.com/kkun/archive/2011/11/23/2260281.html
代码如下:
1 // 171028选择排序.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <random> 7 8 using namespace std; 9 10 void selection_sort(unsigned int a[],int len)//按升序排列 11 { 12 int k = 0; 13 int swap = 0; 14 for (int i = 0; i < len - 1; i++)//多少趟 15 { 16 k = i; 17 for (int j = i + 1; j < len; j++)//每次选出最小的数 18 { 19 k = (a[k] > a[j]) ? j : k;//如果按降序排列,这里改成a[k] < a[j] 20 } 21 //交换 22 swap = a[i]; 23 a[i] = a[k]; 24 a[k] = swap; 25 } 26 cout << "排序之后的数组序列: "; 27 for (int i = 0; i < len; i++) 28 { 29 cout << a[i] << ends; 30 } 31 cout << endl; 32 } 33 34 int main() 35 { 36 /*default_random_engine e; 37 uniform_int_distribution<unsigned> u(0, 100);*/ 38 unsigned int test[9] = { 1,4,6,9,7,2,8,5,3 }; 39 /*for (int i = 0; i < 15; i++) 40 { 41 test[i] = u(e); 42 }*/ 43 cout << "排序之前的数组序列: "; 44 for (auto c : test) 45 cout << c << ends; 46 cout << endl; 47 selection_sort(test, sizeof(test) / sizeof(test[0])); 48 return 0; 49 }
只有0和1的世界是简单的