选择排序算法
选择排序算法原理不再多说,用下图或则代码比较好理解:
#include <iostream> namespace mySort { void selectSort(int * data, int left, int right) { for (int i = left; i < right; ++i) { int index = i; for (int j = i + 1; j <= right; ++j) { if (data[index] > data[j]) { index = j; } } //找到右边最小的一个数,然后交换 int temp = data[i]; data[i] = data[index]; data[index] = temp; } } }; int main() { int a[] = { 2,1}; mySort::selectSort(a, 0, 1); return 0; }
时间复杂度:O(N*N)