全排列函數: next_permutation()
函數原型為:bool next_permutation(iterator start,iterator end)
需要傳入一個升序序列,以及迭代器的首位指針,當當前序列不存在下一個排列時,函數返回false,否則返回true。
反轉函數:reverse()
排序函數:sort()
vector基本操作:
(1)頭文件#include<vector>.
(2)創建vector對象,vector<int> vec;
(3)尾部插入數字:vec.push_back(a);
(4)使用下標訪問元素,cout<<vec[0]<<endl;記住下標是從0開始的。
(5)使用迭代器訪問元素.
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1個元素前面插入a;
(7)刪除元素: vec.erase(vec.begin()+2);刪除第3個元素
vec.erase(vec.begin()+i,vec.end()+j);刪除區間[i,j-1];區間從0開始
(8)向量大小:vec.size();
(9)清空:vec.clear();
queue基本操作:
(1)定義一個queue的變量 queue<Type> M
(2)查看是否為空范例 M.empty() 是的話返回1,不是返回0;
(3)從已有元素后面增加元素 M.push()
(4)輸出現有元素的個數 M.size()
(5)顯示第一個元素 M.front()
(6)顯示最后一個元素 M.back()
(7)清除第一個元素 M.pop()
set基本操作:
begin() ,返回set容器的第一個元素
end() ,返回set容器的最后一個元素
clear() ,刪除set容器中的所有的元素
empty() ,判斷set容器是否為空
max_size() ,返回set容器可能包含的元素最大個數
size() ,返回當前set容器中的元素個數
rbegin ,返回的值和end()相同
rend() ,返回的值和rbegin()相同
count() 用來查找set中某個某個鍵值出現的次數。
erase(iterator) ,刪除定位器iterator指向的值
erase(first,second),刪除定位器first和second之間的值
erase(key_value),刪除鍵值key_value的值
find() ,返回給定值值得定位器,如果沒找到則返回end()。
insert(key_value); 將key_value插入到set中 ,返回值是pair<set<int>::iterator,bool>,bool標志着插入是否成功,而iterator代表插入的位置,若key_value已經在set中,則iterator表示的key_value在set中的位置。
inset(first,second);將定位器first到second之間的元素插入到set中,返回值是void.
map基本操作:
C++ Maps是一種關聯式容器,包含“關鍵字/值”對
begin() 返回指向map頭部的迭代器
clear() 刪除所有元素
count() 返回指定元素出現的次數
empty() 如果map為空則返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊條目的迭代器對
erase() 刪除一個元素
find() 查找一個元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比較元素key的函數
lower_bound() 返回鍵值>=給定元素的第一個位置
max_size() 返回可以容納的最大元素個數
rbegin() 返回一個指向map尾部的逆向迭代器
rend() 返回一個指向map頭部的逆向迭代器
size() 返回map中元素的個數
swap() 交換兩個map
upper_bound() 返回鍵值>給定元素的第一個位置
value_comp() 返回比較元素value的函數
