pushpush 雙向佇列 列表

2021-08-21 23:34:53 字數 1623 閱讀 9081

時間限制: 1 sec  記憶體限制: 128 mb

提交: 111  解決: 66

[提交] [狀態] [討論版] [命題人:admin]

題目描述

輸入input is given from standard input in the following format:

na1 a2 … an

輸出print n integers in a line with spaces in between. the i-th integer should be bi.

樣例輸入

4

1 2 3 4

樣例輸出

4 2 1 3
提示

after step 1 of the first operation, b becomes: 1.

after step 2 of the first operation, b becomes: 1.

after step 1 of the second operation, b becomes: 1,2.

after step 2 of the second operation, b becomes: 2,1.

after step 1 of the third operation, b becomes: 2,1,3.

after step 2 of the third operation, b becomes: 3,1,2.

after step 1 of the fourth operation, b becomes: 3,1,2,4.

after step 2 of the fourth operation, b becomes: 4,2,1,3.

thus, the answer is 4 2 1 3.

[提交]        [狀態]

題意:給n個數a和乙個空序列b,每次執行兩個操作,①將a[i]放到b的末尾,②翻轉b序列,輸出執行完n個數後的b序列。

思路:容易想到是將a[i]前後前後地放到b裡面,那麼用queue或者list都能方便實現。

你可以放入乙個數然後反轉換另一端放入乙個數,前後端來回放數;

queue**

#include using namespace std;

dequeq;

int main()

if(n%2==0)

printf("\n");

}else

printf("\n");

}return 0;

}

list**

#include #define inf 0x3f3f3f3f

using namespace std;

typedef long long ll;

listl;

int main()

if(!(n%2)) l.reverse();

for(auto i=l.begin();i!=l.end();++i)

printf("%d ",*i);

return 0;

}

線性列表 雙向列表

雙向鍊錶 在單鏈表中,每個節點所含的鏈域指向後繼節點,故從任一節點後繼很方便,但要找到 前驅及節點比較困難。public class dnode public dnode string name public dnode string name,dnode next,dnode prev packa...

STL雙向列表

input 第一行乙個整數n。第二行乙個整數x。表示第一輛自行車的編號。以下n 1行,每行3個整數x,y,z。z 0時,表示編號為x的自行車恰停放在編號為y的自行車的左邊 z 1時,表示編號為x的自行車恰停放在編號為y的自行車的右邊43 1 3 1 2 1 0 5 2 1 output 從左到右輸出...

deque雙向佇列

deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面列出deque的常用成員函式 deque的實現比較複雜,內部會維護乙個map 注意!不是stl中的map容器 即一小塊連續的空間,該空間中每個元素都是指標,指向另一段 較...