/* 选择排序实例 Wirtten by: nick Date: 2012-10-16 12:13 */ #include <iostream> #include <iomanip> using namespace std; void selectionSort(int list[], int last); void exchangeSmallest(int list[], int current, int last); int main() { int a[10] = {3,4,6,3,2,8,4,0,5,7}; selectionSort(a, 9); for(int i=0; i<10; i++) cout<< setw(5) << a[i]; return 0; } void selectionSort(int list[], int last) { for(int current=0; current<last; current++) { exchangeSmallest(list, current, last); } } void exchangeSmallest(int list[], int current, int last) { int smallest = current; for(int walker=current+1; walker<=last; walker++) { if(list[smallest] > list[walker]) { smallest = walker; } } int tmp = list[current]; list[current] = list[smallest]; list[smallest] = tmp; }