#include<iostream>
#include<vector>
using namespace std;
void display(const vector<int> &vec);
void swap(int &val1,int &val2);
void bubble_sort(vector<int> &vec);
void display(const vector<int> &vec)
{
for(int ix=0;ix<vec.size();++ix)
cout<<vec[ix]<<"_";
cout<<endl;
}
void swap( int &val1, int &val2)
{
int temp=val1;
val1=val2;
val2=temp;
}
void bubble_sort(vector<int> &vec)
{
for(int ix=0;ix<vec.size();++ix)
for(int jx=ix+1;jx<vec.size();++jx)
if(vec[ix]>vec[jx])
swap(vec[ix],vec[jx]);
}
int main()
{
int ia[8]={8,34,3,13,1,21,5,2};
vector<int> vec(ia,ia+8); //将数组赋值给向量
cout<<"before sort:";
display(vec);
bubble_sort(vec);
cout<<"after sort:";
display(vec);
return 0;
}
上面的是使用向量冒泡排序,下面用非向量
#include<iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a[]={8,34,3,13,1,21,5,2};
cout<<"before sort"<<'\n';
for(int k=0;k<8;k++)
{cout<<a[k]<<"-";}
for(int i=0;i<8;i++)
{
for(int j=7;j>i;j--)
{
if(a[j-1]>a[j])
{
int temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
cout<<"after sort:"<<endl;
for(k=0;k<8;k++)
{cout<<a[k]<<"-";}
system("pause");
return 0;
}