BubbleSort冒泡排序

冒泡排序是稳定的排序,时间复杂度为O(n^2);

BubbleSort.h

#ifndef BUBBLESORT_H
#define BUBBLESORT_H
#include <iostream>
#include <vector>
using namespace std;
class BubbleSort
{
private:
vector<int> list;
public:
BubbleSort::BubbleSort(vector<int> _list);
void bubble_sort();
void out();
};
#endif;

BubbleSort.cpp

#include <iostream>
#include <vector>
#include "BubbleSort.h"
using namespace std;
BubbleSort::BubbleSort(vector<int> _list)
{
for(int i=0;i<_list.size();i++)
list.push_back(_list[i]);
this->list= list;
}
void BubbleSort::bubble_sort()//函数中的变量就是BubbleSort类中的变量,加上BubbleSort就可以在此函数的作用域类有效
{

for(int i = list.size()-1;i<list.size();i--)
for(int j=i-1;j>=0;j--)
{
if(list[j]>list[i])
{
int temp;
temp=list[j];//交换前一定要初始化temp
list[j]=list[i];

list[i]=temp;
}
}
}

void BubbleSort::out()
{
for(int i = 0; i<list.size();i++)
{
cout<<list[i]<<endl;;
//if((i+1)%3==0)
//cout<<endl;
}

}

void main()
{
vector<int> _list;
_list.push_back(20);
_list.push_back(1);
_list.push_back(10);
_list.push_back(2);
BubbleSort bs(_list);
bs.bubble_sort();
bs.out();
getchar();
}

输出结果:




posted @ 2011-09-22 15:55  wang-chd  阅读(272)  评论(0编辑  收藏  举报