在排序算法中,冒泡排序算法是最容易理解的,当然从效率上来讲并不是很高,所以在排序算法中,冒泡算法只能作为基础,在理解冒泡算法后需要进一步去学习其他的算法。
引用自个人网站:http://beself.top/2019/11/25/alg-bubble-sort/
代码
void BubbleSort(vector<int> &arr)
{
uint32_t size = arr.size();
for(uint32_t i = 0; i < size; ++i) {
for(uint32_t j = 0; j < size - i - 1; ++j) {
if(arr[j] > arr[j + 1]) {
int v = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = v;
}
}
}
}
理解分析
在程序中使用里那个循环来进行排序,程序以降序作为示例。内 循环中每次前一个数与后一个数据进行比较 ,如果第一个数比第二个数大,那么两个数进行交换,到整个内循环后将会把容器中最大的一个数找到并放在最后一个位置,外循环控制次数,每次都会找到最大的一个数。