C++ 實現冒泡排序
#include<iostream>
#include<vector>
using namespace std;
void bubblesort(vector<int> &nums) {
int i = 0, j = 0 , temp = 0;
for (int i = 0; i < nums.size()-1; i++) {
for (j = 0; j < nums.size() -1- i; j++) {
if (nums[j] > nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j+1] = temp;
}
}
}
}
int main() {
vector<int> arr = { 6,1,2,7,9,3,4,5,10,8 }; //vector初始化
for (int i = 0; i < arr.size(); i++) {
cout<<arr[i]<<endl;
}
bubblesort(arr);
for (int i = 0; i < arr.size(); i++) {
cout << arr[i] << endl;
}
return 0;
}
輸出結果
6
1
2
7
9
3
4
5
10
8
1
2
3
4
5
6
7
8
9
10
vector初始化的幾種方法
(1) vector<int> arr = { 6,1,2,7,9,3,4,5,10,8 };
(2) vector<int> list1(7,3); //指定值初始化,list1被初始化爲包含7個值爲3的int
(3) vector<int> list2(10);
//默認值初始化,list2中將包含10個元素,每個元素進行缺省的值初始化,對於int,也就是被賦值爲0,因此list2被初始化爲包含10個0。
(4) vector<int> list3;
//默認初始化,vector爲空, size爲0,表明容器中沒有元素,而且 capacity 也返回 0,意味着還沒有分配內存空間。這種初始化方式適用於元素個數未知,需要在程序中動態添加的情況。
(5) vector<int> list4(list1);
vector<int> list4 = list1;
//兩種方式等價 ,list4 初始化爲list1 的拷貝,list4必須與ilist1類型相同,也就是同爲int的vector類型,list4將具有和list1相同的容量和元素