vector是動態陣列,可以理解為是能夠根據需要隨時申請記憶體的動態陣列。
常用操作如下:
容量vec.size() 向量大小
vec.empty() 向量判空 (如果為空true、不為空false)
修改vec.push_back() 向向量末尾新增乙個元素
vec.pop_back() 刪除向量末尾元素
vec.insert() 向向量中任意位置插入元素
vec.erase() 刪除任意位置元素
vec.swap(,) 交換任意兩個位置的向量
vec.clear() 清空向量元素
迭代器vec.begin() 開始指標
vec.end() 末尾指標
元素訪問
vec[1],vec[2] 下標直接訪問
vec.front() 訪問第乙個元素
vec.back() 訪問最後乙個元素
示例:
#include using namespace std;
vectorv;///宣告部分
int main()
///迭代器的用法
vector :: iterator it;
for(it=v.begin();it != v.end(); it++)///遍歷元素
///multiset 自動排序
minn=*(s.begin()); ///找到最小的(可以重複)
maxx=*(s.rbegin()); ///反序查詢第乙個,也就是最後乙個
/ 表示的是最後乙個的下乙個
sum+= maxx-minn;
s.erase(s.find(maxx)); / 括號裡面若是值,會把所有相同重複的都刪掉
s.erase(s.find(minn)); / () 若有,只返回乙個值
}cout<3、priority_queue()優先佇列
priority_queuep;
從小到大輸出
priority_queue, greater>p;
從大到小輸出
priority_queue, less>p;
完整**
#include#includeusing namespace std;
int main()
return 0;
}
C STL學習 持續更新
2.stack 棧 3.queue 佇列 4.priority queue 優先佇列,即堆 更詳細內容參考其它dalao總結 vector,set,string,map,queue,priority queue,stack,pair,bitset 包含標頭檔案 include 1 vector in...
C STL在演算法題中的應用 持續更新
寫洛谷的題,有時候不會總是會去看題解,有的思路很巧妙,需要學習,有的用了很厲害的stl,之前一直在看,現在想想也是要記下來好一點。這個帖子持續更新吧,再見到好用的stl就在這裡記下來 1.vector,是個容器很好用,但是我基本沒怎麼用過 2.string.find first not of 0 找...
頁面實戰應用(持續更新)
1.js中判斷null undefined與nan的方法 判斷undefined var tmp undefined if typeof tmp undefined typeof 返回的是字串,有六種可能 number string boolean object function undefined...