#include#include //vector 头文件 using namespace std; //输出vector中的数 void display(const vector &vec) { for (int i = 0; i < vec.size(); ++i) { cout << vec[i] << ' '; } } //数据交换 void swap(int & val1,int & val2) { int temp = 0; temp = val1; val1 = val2; val2 = temp; } //实现排序 void bubble_sort(vector &vec) { for (int i = 0; i < vec.size(); i++) { for (int j = i + 1;j < vec.size(); j++) { if (vec[i] > vec[j]) swap(vec[i], vec[j]); } } } int main() { int a[8] = { 8,34,3,13,1,21,5,2 }; vector vec(a, a + 8); bubble_sort(vec); cout << "排序后: "; display(vec); return 0; }
传值和传值的区别:
传值:只是将原对象进行了复制,并将原对象的副本进行了传递,而原对象和副本之间并没有任何联系。因此,副本的改变并不会影响原对象的值;
传址:对象本身并不会复制出一份——复制的是对象的地址。函数中对该对象进行的任何操作,都相当于是对传入对象的间接操作;
函数参数的传递应该采用 传址的方式而非传值。



