C++ 實現冒泡排序與vector初始化方法

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相同的容量和元素
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章