因為要從隊頭隊尾插入刪除元素,可以用stl中的deque(雙端佇列)便於操作.
這些是deque的一些基本操作:
1.把x壓入後/前端:push_back(x)/push_front(x)
2.訪問(不刪除)後/前端元素:back()/front()
3.刪除後/前端元素:pop_back() pop_front()
4.判斷deque是否空:empty()
5.返回deque的元素數量:size()
6.清空deque:clear()
7.排序:sort(d.begin(),d.end())
#include
using
namespace std;
typedef
long
long ll;
inline ll read()
while
(ch >=
48&& ch <=
57)
s =(s <<1)
+(s <<3)
+(ch ^48)
, ch =
getchar()
;return s * w;
}int
main
(int argc,
char
const
*ar**)
else
if(op ==2)
mydeque.
pop_front()
;else
if(op ==3)
else
if(op ==4)
mydeque.
pop_back()
;else
if(op ==5)
reverse
(mydeque.
begin()
, mydeque.
end())
;else
if(op ==6)
else
sort
(mydeque.
begin()
, mydeque.
end())
;}return0;
}
NC19246資料結構
輸入 5 61 2 3 4 5 1 1 5 2 1 5 3 1 2 1 4 1 3 2 1 1 4 2 2 3 輸出 思路 核心 線段樹 加法和求和省略不談了 線段樹基操,不會的話自己補一下 求平方和算個小套路吧 假設區間每個元素加上x,求平方和 ai x 2 ai 2 2 x ai 區間長度 x ...
簡單的資料結構
題目描述 慄醬有一天在網上衝浪的時候發現了一道很有意思的資料結構題。該資料結構形如長條形。一開始該容器為空,有以下七種操作。1 a從前面插入元素a 2 從前面刪除乙個元素 3 a從後面插入乙個元素 4 從後面刪除乙個元素 5 將整個容器頭尾翻轉 6 輸出個數和所有元素 7 對所有元素進行從小到大排序...
STL 簡單的資料結構
慄醬有一天在網上衝浪的時候發現了一道很有意思的資料結構題。該資料結構形如長條形。一開始該容器為空,有以下七種操作。1 a從前面插入元素a 2 從前面刪除乙個元素 3 a從後面插入乙個元素 4 從後面刪除乙個元素 5 將整個容器頭尾翻轉 6 輸出個數和所有元素 7 對所有元素進行從小到大排序 只有一組...