STL 簡單的資料結構

2021-10-02 06:40:57 字數 884 閱讀 8278

慄醬有一天在網上衝浪的時候發現了一道很有意思的資料結構題。

該資料結構形如長條形。

一開始該容器為空,有以下七種操作。

1 a從前面插入元素a

2 從前面刪除乙個元素

3 a從後面插入乙個元素

4 從後面刪除乙個元素

5 將整個容器頭尾翻轉

6 輸出個數和所有元素

7 對所有元素進行從小到大排序

只有一組資料,第一行n≤50000,m≤200000, a≤100000 代表最大資料數目和操作次數。

接下來每一行乙個操作如上描述。保證所有操作合法(不會在容器為空時刪除元素)。

6、7操作共計不會超過10次。

當執行6操作時,第一行先輸出當前的個數,然後從頭到尾按順序輸出,每兩個元素之間用乙個空格隔開,末尾不能有空格。

10 9

1 13 5

3 4645

6763

1 5 4

25 1

21 5

#include

#include

#include

#include

#include

#include

using

namespace std;

intmain()

else

}break

;case7:

sort

(s.begin()

,s.end()

);break;}

}return0;

}

這題我用的是vector,要注意的是vector不能使用push_front()和pop_front(),但是雙端佇列deque可以使用,而這題也可以使用雙端佇列來寫。

STL的資料結構

1.vector 底層資料結構為陣列 支援快速隨機訪問 2.list 底層資料結構為雙向鍊錶,支援快速增刪 3.deque 底層資料結構為乙個 控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾 中間不能 快速增刪,也支援隨機訪問 deque是乙個雙端佇列 double ended que...

資料結構 STL

棧 先入後出 filo 的一種資料結構。常見操作 模擬火車調頭,進製轉換,表示式求值,單調棧 陣列形式 理解 const int num 1e6 10 定義棧的大小,可自由改變 int stac num 乙個整型棧 int top 棧頂指標 int main top 1 設定棧頂指標為 1 stac...

資料結構 stl

uva 11997 題意 給你乙個數k,並且給你k組數,每組k個數,現在在每組中任取乙個數,然後相加可以得到乙個和,這樣的和共有k k個,要求輸出所有可能的和值中最小的k個。思路 問題1 如果只有a,b,c三個大小為k的陣列,我們如何求 和 能獲得最小的前k個和呢?我們只需要將a和b陣列求出前k小的...