排序算法
常见算法复杂度与稳定性

冒泡排序
小的元素会经由交换慢慢“浮”到顶端,就像泡泡一样,故名“冒泡排序”。
它的工作原理是,重复地走访过要排序的元素,依次比较两个相邻的两个元素,如果前面的数比后面的数大就把他们交换过来。
走访元素的工作重复地进行,直到没有相邻元素需要交换
#include<bits/stdc++.h>using namespace std;const int SIZE = 10;int arr[SIZE] = {2,7,8,4,36,78,1,91,42,13};int main(){for(int i = 0 ; i < SIZE - 1; i++){for(int j = 0 ; j < SIZE-1 -i; j++){if(arr[j] > arr[j+1])swap(arr[j],arr[j+1]);}}for(int x : arr) cout << x << " ";return 0;}
选择排序
#include<bits/stdc++.h>using namespace std;int arr[10] = {2,7,8,4,36,78,1,91,42,13};int main(){for(int i = 0 ; i < 10-1 ; i ++){for(int j = i+1 ; j < 10 ; j++){if(arr[j] > arr[j]){swap(arr[j],arr[j]);}}}for(int x : arr) cout << x << " ";}
