c stl之map set oj題目練習

2021-10-02 05:17:44 字數 1346 閱讀 8887

#include

using

namespace std;

set<

int>a;

//set中每個元素都是獨特的,且排好序的

intmain()

set<

int>

::iterator it;

//迭代器,類似於陣列下標

int flag,cnt;

flag=cnt=0;

for(it=a.

begin()

;it!=a.

end(

);it++

)//end()指向的是最後乙個元素的下乙個不存在的元素}if

(flag==

0)cout<<

"no result"

}

#include

using

namespace std;

set<

int>a;

//set中每個元素都是獨特的,且排好序的

intmain()

cout

begin()

;it!=a.

end(

);it++

) cout<}return0;

}

#include

using

namespace std;

map<

int,

int>b;

int a[

100005];

intmain()

//i為順序,值為編號

for(

int i=

1;i<=m;i++

)for

(int i=n;i>=

1;i--)}

for(

int i=

1;i) cout<;return0;

}

這個題陣列開不了2e9這麼大,所以要用別的容器做

#include

using

namespace std;

map<

int,

int>a;

map<

int,

int>

::iterator it;

intmain()

scanf

("%d"

,&q)

;for

(int i=

0;i)return0;

}

C STL重點面試題目

vector就是乙個動態陣列,裡面有乙個指標指向一片連續的記憶體空間,當空間不夠裝下資料時,會自動申請另一片更大的空間 一般是增加當前容量的50 或100 然後把原來的資料拷貝過去,接著釋放原來的那片空間 當釋放或者刪除裡面的資料時,其儲存空間不釋放,僅僅是清空了裡面的資料。當已經分配的空間不夠裝下...

C STL之堆疊容器

stack堆疊是乙個後進先出的線性表,插入和刪除都只能在表一端進行,插入元素的一端成為棧頂 stack top 而另一端則稱為棧底 stack bottom 插入元素稱為入棧 push 刪除元素稱為出棧或彈棧 pop 使用該容器時需要包含 include 標頭檔案 定義stack物件的示例 如下 s...

C STL之優先佇列

cpp view plain copy struct cmp1 struct cmp2 struct node1 struct node2 priority queue q1 採用預設優先順序構造佇列 priority queue,vector int cmp1 q2 最小值優先 priority ...