1、冒泡排序
冒泡排序通过依次对比相邻两个数并排序,反复多次达到完全排序的效果。
示意图:
示意视频:
代码:
template <class T> void bobbleSort(T a[], int n)//第一个参数为需要排序的数组,第二个参数为数组长度 { for (int j = n - 1; j > 0; j--) { for (int i = 0; i < j; i++) { if (a[i] > a[i + 1]) { swap(a[i], a[i + 1]);//从小到大排序 } } } }
2、选择排序
选择排序通过依次寻找数组中最小的、第二小的……顺次放在数组一侧达到排序效果。
示意图:
示意视频:
代码:
template <class T> void selectSort(T a[], int n) { for (int i = 0; i < n; i++) { int min = i; for (int j = i+1; j < n; j++) { if (a[j]<min)//从小到大排序 { min=j; } } swap(a[i],a[min]); } }