您的位置:首页 > 其它

冒泡排序(正宗点吧)

2014-03-24 23:40 197 查看
#include <iostream>
#include <vector>
using namespace std;

void swap(int & a,int & b)
{
a=a+b;
b=a-b;
a=a-b;
}

vector<int> & bubbleSort(vector<int> & v)
{
int n=v.size();
int flag;
for(auto i =0;i < n;i++)
{
flag =false;
for(auto j=n-1;j >i;j--)
{
if(v[j-1] > v[j])
{
swap(v[j-1],v[j]);
flag =true;
}
}
if(!flag) return v;
}
return v;
}

void print(vector<int> & v)
{
vector<int>::iterator pos;
for(pos = v.begin();pos!=v.end();pos++)
cout<<*pos<<" ";
cout<<endl;
}
void main()
{
const int n=100;
vector<int> v;
v.reserve(n);
for(int i =0;i<n;i++)
v.push_back(rand()%100);
print(v);
//print(bubbleSort1(v));
print(bubbleSort(v));
system("pause");
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  冒泡排序