1,气泡排序的思想
对比相邻两个元素的相对大小,如果当前第i个元素小于前一个元素则交换两元素的值,每遍历一轮数组元素的个数减一,直到所有交换操作完成,不在发生交换。
2,代码实现
#include <iostream>
#include <algorithm>
using namespace std;
template<typename T>
void bubbleSort(T arr[], int n) {
bool swapped;
do {
swapped = false;
for (int i = 1; i < n; i++)
if (arr[i - 1] > arr[i]) {
swap(arr[i - 1], arr[i]);
swapped = true;
}
n--;
} while (swapped);
}
int main() {
int a[10] = { 10,9,8,7,6,5,4,3,2,1 };
bubbleSort(a, 10);
for (int i = 0; i < 10; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}