舍友的麻辣鴨脖真是增加了戰(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();
}