STL的部分用法

2021-09-25 18:51:19 字數 2514 閱讀 3221

stl是c++語言中標準中的重要組成成分,通過對stl的使用能夠使**更加簡潔高效、

stl容器就是一些模板類,提供了很多的組織資料的方法,這裡簡單介紹一下常用的幾種容器。

set是與集合相容的容器,stl為我們提供了set的實現,在程式設計中我們使用set是十分方便的,set模板類的定義在標頭檔案中

定義乙個set物件:

set < int >s;

set< double >s;

set的一些常用的操作

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 < char >s;

stack的基本操作:

s.push(num);		//將num壓入棧中

s.top(); //返回最晚壓入棧中的元素

s.empty(); //判斷棧是否為空

s.pop(); //刪除最晚壓入棧中的元素

s.size(); //返回棧的大小

queue(佇列)的標頭檔案在中定義

定義:

queue < int >q;

queue < char> q;

queue < node > q;

queue的一些基本操作

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...