sort函式
標頭檔案
#include
使用方法 :
sort(first,last,cmp);
first是元素的起始位置,last是元素的結束位址,cmp是排序方式。
如果寫cmp,那麼預設為從小到大排序
bool cmp(int a, int b)
{return b這時系統預設a>b,輸出true,式子是從大到小排序的
(2)衝在比較運算子 **如下:
bool operator< (const student & s1,const student &s2)
{ if(s1.age == s2.age)
return s1.name>s2.name;
else
return s1.age(3)宣告比較類 :
struct cmp
{ bool operator() (const student & s1,const student &s2)
{ if(s1.age == s2.age)
return s1.name>s2.name;
else
return s1.agevectorvector ::iterator iter;
這表示宣告了乙個int型別的變數,資料型別是由vector< int >定義的iterator型別。
vector::iterator iter = iverc.begin();//iter->ivec[0]
在關係容器中(如map),初始化iter為m.begin(),這個時候輸出*iter會報錯。(*it).first會得到key(模擬於python中的pair)等同於it->first
std::reverse(pos1,pos2);//使用方法
vec.clear();
對映:map
map的基本操作
mapmap_student;//map::value_type(1,"student"));//第一種
insert(make_pair(1,"student"));//第二種
`方法二不能夠覆蓋以前的值,更能體現對映的特性
map的實際操作
什麼樣的題目適合map
reference to ·map ·is ambuguous --所起名字與關鍵字相重
map名稱[key]是可以直接表示value的
set容器
#include //標頭檔案
常用函式
set容器基本操作
seta1;
seta2(a1);
新增元素
直接呼叫insert函式,不可以插入重複值
刪除元素
直接呼叫erase函式可刪除鍵值,迭代器所指向的值,或是區間中的值。
因為erase的操作是不會有錯誤檢查的,比如定位器是否合法,所以使用之前一定要注意
查詢元素
find(key_value);//找得到便返回鍵值的迭代器的位置,否則便返回最後乙個元素的的迭代器的位置,即end();
stack和queue
stack簡介
stack 的拷貝與構造
stackstk2(stk1);//拷貝構造
stk2 = stk1;//賦值操作
queue簡介 C 之STL(簡述)(藍橋杯備戰)
2019年是我第一次參加藍橋杯比賽。在2019年的藍橋杯中,我選擇了c c b組的比賽。在c 組的比賽中,stl是被允許使用的。而且在一些時候可以簡化 長度,提高 效率。但在之前的學習中,我們並沒有對stl有什麼接觸,因此專門抽出一段時間對stl進行學習。由於本次是專門針對藍橋杯對stl進行學習,因...
藍橋杯備戰(2)列舉專題
字串處理 字串的實用函式 二分法對列舉的優化 查詢 核心 int left 0,right x,mid x表示二分物件的長度 mid left right 2 while left right else if mid標記對列舉的優化 flag n.標記 標識 作為乙個指示針對陣列中所需要的元素進行標...
藍橋杯 Python組 備戰演算法專題 例題
poj 1543 完美立方 時限 1000ms 記憶體限制 10000k 提交總數 17965 接受的 8944 描述 數百年來,費馬最後定理簡單地證明了 對於n 2,不存在整數a,b,c 1,因此a n b n c n仍然難以捉摸。儘管仍在進行審查,但最新的證明被認為是正確的。但是,可以找到大於1...