題意:有n個棧,有q個操作,操作有3種。
1 s t:在第s個棧中push元素t
2 s :彈出第s個棧的棧頂,並輸出這個數
3 s t:將第t個棧直接加到第s個棧頂之後,第t個棧清空。第s個棧棧頂加入從第t個棧棧底到棧頂所有元素,也就是合併棧
**:
#include#include#include#includeusing namespace std;
const int maxn=3e5+10;
typedef long long ll;
listl[maxn];
int main()
else if(op==2)
}else
} }return 0;
}
list容器的使用
常用操作 assign 給list賦值 back 返回最後乙個元素 begin 返回指向第乙個元素的迭代器 clear 刪除所有元素 empty 如果list是空的則返回true end 返回末尾的迭代器 erase 刪除乙個元素 front 返回第乙個元素 get allocator 返回list...
關於List容器的erase
之前在程式裡面使用了list容器,其中用到了erase 函式,之前一直沒出現問題,這兩天突然莫名奇妙。花了點時間,搞清楚了erase 函式的機理。常用的刪除容器中元素的方法是如下 方法1 list int list list int iterator iter for iter list.begin...
STL中的 list 容器詳解
list是一種序列式容器。list容器完成的功能實際上和資料結構中的雙向鍊錶是極其相似的,list中的資料元素是通過鍊錶指標串連成邏輯意義上的線性表,也就是list也具有鍊錶的主要優點,即 在鍊錶的任一位置進行元素的插入 刪除操作都是快速的。list的實現大概是這樣的 list的每個節點有三個域 前...