vector
包含在頭文件 #include<vector>,常用的成員函數(shù):
1.元素訪問
- at(pos): 返回指定位置pos的元素
- front(): 訪問第一個(gè)元素
- back(): 訪問最后一個(gè)元素
2.迭代器
- begin() :返回指向容器第一個(gè)元素的迭代器
- end(): 返回指向容器尾端的迭代器
3.容量
- empty():檢查容器是否為空
- size():返回容納的元素個(gè)數(shù)
- capacity():返回當(dāng)前存儲(chǔ)空間能夠容納的元素個(gè)數(shù)
- shrink_to_fit(): 通過釋放未使用的內(nèi)存減少內(nèi)存的使用
4.修改器
- clear():清除內(nèi)容
- iterator insert(iterator pos, const T& value):在 pos 前插入 value ,返回指向被插入value的迭代器
- void insert( iterator pos, size_type count, const T& value ):在 pos 前插入 value 的 count 個(gè)副本,返回指向首個(gè)被插入元素的迭代器
- iterator erase( iterator pos ): 從容器刪除指定的位置的元素,并返回指向下一個(gè)元素的迭代器
- iterator erase( iterator first, iterator last ):移除范圍 [first; last) 中的元素
- push_back(const T& value):追加元素
- pop_back() 移除容器尾端的元素
// 迭代并打印 vector 的值簡(jiǎn)寫方法
for(int value: values) {
std::cout<< value << endl;
}
string
包含在頭文件 #include<string>,常用的成員函數(shù):
1.數(shù)值轉(zhuǎn)換
- stoi、stol、stoll:將字符串轉(zhuǎn)換為有符號(hào)整型
- stoul、stoull:將字符串轉(zhuǎn)換為無符號(hào)整型
- stof、stod、stold:將字符串轉(zhuǎn)換為浮點(diǎn)型
- to_string() 將整型、浮點(diǎn)型轉(zhuǎn)換為字符串
2.從C語言中保留的函數(shù)
- strcpy(s1, s2):復(fù)制字符串s2到字符串s1
- strcat(s1, s2):連接s2到s1的末尾 +
- strlen(s1):返回字符串s1的長(zhǎng)度
- strcmp(s1, s2):比較 <、>
- strchr(s1, ch):返回指向s1中字符ch 第一次出現(xiàn)的位置
- strstr(s1, s2): 返回指針指向s1中s2第一次出現(xiàn)的位置
3.其它常用的
- bool starts_with(const CharT* x)
- size()、length(): 返回字符串的長(zhǎng)度
- empty(): 判斷是否為空
- str[n-1]、str.at(n-1) :存取第n個(gè)字符
- substr(int pos = 0, int n = npos) :返回pos開始的n個(gè)字符組成的字符串
4.查找函數(shù):查找成功時(shí)返回所在位置,失敗返回string::npos的值
- int find(char c, int pos = 0) :從pos開始查找字符c在當(dāng)前字符串的位置;
- int find(const char *s, int pos = 0) :從pos開始查找字符串s在當(dāng)前串中的位置
map
定義于頭文件<map>
1.修改器
- size_type erase( const key_type& key ):移除關(guān)鍵字等于key的元素,返回被移除的元素個(gè)數(shù)
2.查找
- iterator find( const Key& key ):返回指向鍵值等于key的元素的迭代器,若找不到這種元素,則返回end()迭代器;
stack
定義于頭文件<stack>
- 元素訪問
-top(): 獲取棧頂元素
2.容量
- empty():檢查棧是否為空
- size(): 返回容納的元素個(gè)數(shù)
3.修改器
- push() :向棧頂插入元素
- pop() :刪除棧頂元素
queue
定義于頭文件 <queue>
1.元素訪問
- front():訪問隊(duì)首元素
- back():訪問隊(duì)尾元素
2.容量
- empty():檢查隊(duì)列是否為空
- size(): 返回容納的元素個(gè)數(shù)
3.修改器
- push(): 向隊(duì)尾插入元素
- pop(): 刪除隊(duì)首元素
deque 雙端隊(duì)列
定義于頭文件 <deque>
1.元素訪問
- front():訪問隊(duì)首元素
- back():訪問隊(duì)尾元素
- at()、[]: 訪問指定位置的元素
2.容量
- empty():檢查隊(duì)列是否為空
- size(): 返回容納的元素個(gè)數(shù)
3.修改器
- push_back(): 向隊(duì)尾插入元素
- pop_back(): 刪除隊(duì)尾元素
- push_front():向隊(duì)首插入元素
- pop_front():刪除隊(duì)首元素
跑個(gè)題,還有個(gè)覺得需要記錄一下的:
#include<climits> // 包含在climits頭文件中
INT_MAX // int類型的最大值
INT_MIN // int類型的最小值