10大排序算法之【冒泡排序】

舍友的麻辣鴨脖真是增加了戰(zhàn)斗力,,哈哈
冒泡排序可謂是面試中被問到幾率最高的排序算法了(記得某篇文章這樣說)。誠然,單冒泡排序這個名字就充滿了魔性,很難有算法名字可以如此簡潔明了又具體形象的描述出算法自身的意象。。冒泡排序可以有很多冒泡方式,每種方式又有很多種代碼描述方式,具體效率差不多,下面是本人喜歡的一種方式。

include<iostream>

include<vector>

using namespace std;

class BubbleSort{

private:
    int len;
    vector<int> list;
public:
    BubbleSort(vector<int> _list, int _len);
    void swap(int, int);
    void bubble_sort();
    void out();

};

BubbleSort::BubbleSort(vector<int> _list, int _len){

for(int i=0; i<_len; i++) list.push_back(_list[i]);
this->len = _len;

}

void BubbleSort::bubble_sort(){

for(int i=0; i<len; i++)
    
    for(int j=0; j<len-i; j++){
        
        if(list[j]>list[j+1]) swap(j,j+1);
    }

}

void BubbleSort::swap(int a, int b){

int temp = list[a];
list[a]  = list[b];
list[b]  = temp;

}

void BubbleSort::out(){

for(int i=0; i<len; i++) cout<<list[i];

}

int main(){

int array[9] = {9,8,7,6,5,4,3,2,1};
vector<int> list;
for(int i=0; i<9; i++) list.push_back(array[i]);
BubbleSort mazhe(list,9);
mazhe.bubble_sort();
mazhe.out();

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容