stl是c++語言中標準中的重要組成成分,通過對stl的使用能夠使**更加簡潔高效、
stl容器就是一些模板類,提供了很多的組織資料的方法,這裡簡單介紹一下常用的幾種容器。
set是與集合相容的容器,stl為我們提供了set的實現,在程式設計中我們使用set是十分方便的,set模板類的定義在標頭檔案中
定義乙個set物件:
set < int >s;set的一些常用的操作set< double >s;
s.begin(); //返回指向第乙個元素的迭代器
s.end(); //返回指向最後乙個元素的後的迭代器
s.clear(); //清空set內的全部元素
s.erase(it); //刪除集合中的指定元素
s.insert(num); //在set中插入num
s.empty(); //判斷set是否為空
s.size(); //返回set中元素的數量
s.find(num); //返回乙個指向被查詢元素的迭代器
s.lower_bound(num); //返回指向大於等於num的第乙個元素的迭代器
s.upper_bound(num); //返回指向大於num的第乙個元素的迭代器
關於vector
在stl中的中定義vector,vector容器以連續陣列的方式儲存元素序列,當我們在解題過程中需要用到動態陣列的時候使用vector是乙個理想的選擇。
定義:
vector < int > v;vector的基本操作:
v[i]; //以下標的方式訪問容器中的元素
v.front(); //返回首元素
v.back(); //返回尾元素
v.push_back(num); //插入num
v.size(); //返回容器的元素個數
v.empty(); //判斷容器是否為空
v.clear(); //清除容器中的所有元素
v.insert(it,num); //在迭代器it只想的元素前面新增乙個num
v.erase(it); //刪除由迭代器it所指向的元素
關於stack
stack(棧)和queue(佇列)是程式設計中非常常用的兩類資料容器stl給我們提供了更加方便的實現方式
stack容器定義在標頭檔案中
定義stack:
stack < int >s;stack的基本操作:stack < char >s;
s.push(num); //將num壓入棧中
s.top(); //返回最晚壓入棧中的元素
s.empty(); //判斷棧是否為空
s.pop(); //刪除最晚壓入棧中的元素
s.size(); //返回棧的大小
queue(佇列)的標頭檔案在中定義
定義:
queue < int >q;queue的一些基本操作queue < char> q;
queue < node > q;
q.push(num); //將num壓入佇列中
q.front(); //返回最先壓入佇列中的元素
q.pop(); //刪除最先壓入佇列中的元素
q.size(); //返回佇列中的元素數量
q.empty(); //判斷佇列是否為空
位圖法就是bitmap的縮寫。所謂bitmap,就是用每一位來存放某種狀態,適用於大規模資料,但資料狀態又不是很多的情況。通常是用來判斷某個資料存不存在的。在stl中有乙個bitset容器,其實就是位圖法。
bitset就是bitmap演算法在c++裡面被封裝起來了,也是用位來表示乙個數,bitset支援與(unsigned(long long) int、bool、string之間的相互轉化。
標頭檔案&&定義:
#include< bitset >bitset< num >b; //num指的是容器的大小
點陣圖的部分用法:
b.count(); ///返回一的個數
b.size(); ///返回大小(位數)
b.any(); ///返回是否有一
b.set(); ///全部變成一
b.set(pos); ///將pos+1位變成一
b.reset(); ///全部變成零
b.reset(pos); ///將pos+1位變成零
b.flip(); ///全部取反
b[pos]; ///第pos+1位的數值是多少
STL部分用法整理 長期更新
基礎不牢,地動山搖。提供一對一的hash 自動建立key value的對應。key 和 value可以是任意你需要的型別。兩種插入方式 string s1 hahaha s2 lalala 方法一 使用下標插入 m s1 1 m s2 2 方法二 定義鍵值對 pairp1 p1 make pair ...
grep部分用法
在看鳥哥的linux私房菜 總結一下今天看的東西 grep 用於正規表示式 regular expression 一般用法 grep a b color auto string filename a after後面可接數字表示向後n行 b before接數字表示向後n行 color選項設定標註顏色 ...
Meta 部分用法
model.userinfo.meta.model name 獲取該類對應表名 字串型別 model.userinfo.meta.get field username 獲取該類內指定字段資訊 物件 model.userinfo.meta.fields 獲取該類內所有字段物件 model.userin...