【算法】冒泡排序--C++源代码(VS2015)

来源:互联网 发布:睡了闺蜜的男朋友 知乎 编辑:程序博客网 时间:2024/05/22 00:55
#include <iostream>
#include <vector>
using namespace std;


/*function : 数据两两比较,每一轮获取一最大值*/


void BubbleSort(vector<int> &vec)
{
if (0 == vec.size())
return;
int len = vec.size();
int len_temp = len;
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len_temp - 1; j++)
{
if (vec[j] > vec[j + 1])
swap(vec[j], vec[j + 1]);
}
len_temp--; // 最后一个数据已经是最大值了,无需再次进行比较
}
}


void Print(const vector<int> &vec)
{
for (vector<int>::const_iterator iter = vec.begin(); iter != vec.end(); iter++)
cout << *iter << " ";
cout << endl;
}


int main()
{
int arr[] = { 2,4,6,8,10,1,3,5,7,9 };
vector<int> vec(&arr[0], &arr[10]);
BubbleSort(vec);
Print(vec);
system("pause");
return 0;
}
原创粉丝点击