冒泡排序的思想在之前python版本里已经写过了,这里就只给出冒泡排序的c++实现版本,代码如下:
#include<iostream>
#include<vector>
using namespace std;
void display(vector<int> vec);
void swap(int &, int &);
void bubble_sort(vector<int> &vec);
int main() {
int a[8] = { 8,34,3,1,2,5,4,21 };
vector<int> vec(a, a + 8);//初始化vector数组
cout << "Vector before sort: ";
display(vec);
bubble_sort(vec);
cout << "Vector afer sort: ";
display(vec);
system("pause");
}
void display(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]);
}
}
}
程序运行结果: