1. 頭文件html
1 #include<vector>
2. vector聲明及初始化算法
1 vector<int> vec; //聲明一個int型向量 2 vector<int> vec(5); //聲明一個初始大小爲5的int向量 3 vector<int> vec(10, 1); //聲明一個初始大小爲10且值都是1的向量 4 vector<int> vec(tmp); //聲明並用tmp向量初始化vec向量 5 vector<int> tmp(vec.begin(), vec.begin() + 3); //用向量vec的第0個到第2個值初始化tmp 6 int arr[5] = {1, 2, 3, 4, 5}; 7 vector<int> vec(arr, arr + 5); //將arr數組的元素用於初始化vec向量 8 //說明:固然不包括arr[4]元素,末尾指針都是指結束元素的下一個元素, 9 //這個主要是爲了和vec.end()指針統一。 10 vector<int> vec(&arr[1], &arr[4]); //將arr[1]~arr[4]範圍內的元素做爲vec的初始值
3. vector基本操做數組
(1). 容量函數
(2). 修改ui
(3)迭代器spa
(4)元素的訪問指針
(4)算法code
1 vector<int>::iterator it; 2 for (it = vec.begin(); it != vec.end(); it++) 3 cout << *it << endl; 4 //或者 5 for (size_t i = 0; i < vec.size(); i++) { 6 cout << vec.at(i) << endl; 7 }
元素翻轉htm
1 #include <algorithm> 2 reverse(vec.begin(), vec.end());
元素排序blog
1 #include <algorithm> 2 sort(vec.begin(), vec.end()); //採用的是從小到大的排序 3 //若是想從大到小排序,能夠採用上面反轉函數,也能夠採用下面方法: 4 bool Comp(const int& a, const int& b) { 5 return a > b; 6 } 7 sort(vec.begin(), vec.end(), Comp);