冒泡排序算法

╄→尐↘猪︶ㄣ 提交于 2019-11-30 08:52:57

冒泡排序算法

在排序算法中,冒泡排序算法是最容易理解的,当然从效率上来讲并不是很高,所以在排序算法中,冒泡算法只能作为基础,在理解冒泡算法后需要进一步去学习其他的算法。

引用自个人网站: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;
            }
        }
    }
}

理解分析

在程序中使用里那个循环来进行排序,程序以降序作为示例。内 循环中每次前一个数与后一个数据进行比较 ,如果第一个数比第二个数大,那么两个数进行交换,到整个内循环后将会把容器中最大的一个数找到并放在最后一个位置,外循环控制次数,每次都会找到最大的一个数。
冒泡算法

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!