选择排序

https://www.cnblogs.com/kkun/archive/2011/11/23/2260281.html

#include<iostream> #include <stdio.h> #include <stack> using namespace std; void select_sort(int *a, int begin, int end) { for (int i = 0; i < end; ++i) { int min_val = a[i]; int min_val_index = i; for (int j = i+1; j < end; ++j) { if (a[j] < min_val) { min_val = a[j]; min_val_index = j; } } if (min_val_index != i) { //swap(a[i], min_val); //注意不是赋值,而是数组里面的值要交换 swap(a[i], a[min_val_index]); } } } int main() { int a[8] = {4, 2, 6, 7, 9, 5, 1, 3}; int length = sizeof(a) / sizeof(a[0]); select_sort(a, 0, length); for(int i=0; i < 8; i++) { cout << a[i] << " " << endl; } return 0; }
原文地址:https://www.cnblogs.com/TMatrix52/p/12551406.html