1. Стек (Stack)
C++
#include <stack>
stack<int> s;
s.push(x); // добавить элемент на вершину стека
s.pop(); // удалить элемент с вершины стека
int a = s.top(); // узнать значение элемента на вершине стека
s.size(); // узнать размер стека
s.empty(); // проверка стека на пустоту
Python
s = []
s.append(x) # добавить элемент на вершину стека
s.pop() # удалить элемент с вершины стека
a = s[-1] # узнать значение элемента на вершине стека
len(s) # узнать размер стека
not s # проверка стека на пустоту
s.clear() # очистить стек
C#
using System.Collections.Generic;
Stack<int> s = new Stack<int>();
s.Push(x); // добавить элемент на вершину стека
s.Pop(); // удалить и вернуть элемент с вершины стека
int a = s.Peek(); // узнать значение элемента на вершине стека
s.Count; // узнать размер стека
s.Clear(); // очистить стек
2. Очередь (Queue)
C++
#include <queue>
queue<int> q;
q.push(x); // добавление в очередь
int a = q.front(); // просмотр первого элемента
q.pop(); // удаление из очереди
Python
from collections import deque
q = deque()
q.append(x) # добавление в очередь
a = q[0] # просмотр первого элемента
a = q.popleft() # удаление из очереди
C#
using System.Collections.Generic;
Queue<int> q = new Queue<int>();
q.Enqueue(x); // добавление в очередь
int a = q.Peek(); // просмотр первого элемента
q.Dequeue(); // удаление из очереди
3. Дек (Deque)
C++
#include <deque>
deque<int> d;
d.push_front(x); // добавить элемент в начало дека
d.push_back(x); // добавить элемент в конец дека
d.pop_front(); // удалить элемент из начала дека
d.pop_back(); // удалить элемент из конца дека
int f = d.front(); // узнать значение первого элемента дека
int b = d.back(); // узнать значение последнего элемента дека
d.size(); // узнать размер дека
d.empty(); // проверка дека на пустоту
d.clear(); // очистить дек
Python
from collections import deque
d = deque()
d.appendleft(x) # добавить элемент в начало дека
d.append(x) # добавить элемент в конец дека
d.popleft() # удалить элемент из начала дека
d.pop() # удалить элемент из конца дека
f = d[0] # узнать значение первого элемента дека
b = d[-1] # узнать значение последнего элемента дека
len(d) # узнать размер дека
d.clear() # очистить дек
C#
Примечание: В стандартном .NET нет класса Deque. Вместо него на Codeforces используют LinkedList<T>. ```csharp using System.Collections.Generic; LinkedList d = new LinkedList();
d.AddFirst(x); // добавить элемент в начало дека d.AddLast(x); // добавить элемент в конец дека d.RemoveFirst(); // удалить элемент из начала дека d.RemoveLast(); // удалить элемент из конца дека int f = d.First.Value; // узнать значение первого элемента дека int b = d.Last.Value; // узнать значение последнего элемента дека d.Count; // узнать размер дека d.Clear(); // очистить дек ```







