Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 4d96a07

Browse files
committedJun 17, 2024·
delete unsed files
1 parent 944bb0b commit 4d96a07

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed
 

‎doc/topic1(question 6, 7, 8).md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Стеки, Очереди, Деки (C++)
2+
3+
## Стек
4+
5+
### Определение
6+
7+
Стеком (англ. stack) называется хранилище данных, в котором можно работать только с одним элементом: тем, который был добавлен в стек последним. Стек должен поддерживать следующие операции:
8+
9+
- `push`: Добавить (положить) в конец стека новый элемент.
10+
- `pop`: Извлечь из стека последний элемент.
11+
- `back`: Узнать значение последнего элемента (не удаляя его).
12+
- `size`: Узнать количество элементов в стеке.
13+
- `clear`: Очистить стек (удалить из него все элементы).
14+
15+
### Структура данных Stack
16+
17+
- stack(); // Конструктор
18+
- ~stack(); // Деструктор
19+
- void push(int d); // Добавить в стек новый элемент
20+
- int pop(); // Удалить из стека последний элемент и вернуть его значение
21+
- int back(); // Вернуть значение последнего элемента
22+
- int size(); // Вернуть количество элементов в стеке
23+
- void clear(); // Очистить стек
24+
25+
26+
## Очередь
27+
28+
### Определение
29+
30+
Очередью (англ. queue) называется структура данных, в которой элементы кладутся в конец, а извлекаются из начала. Первым из очереди будет извлечен тот элемент, который будет добавлен раньше других.
31+
32+
### Структура данных Queue
33+
34+
- queue(); // Конструктор
35+
- ~queue(); // Деструктор
36+
- void push(int d); // Добавить в очередь новый элемент
37+
- int pop(); // Удалить из очереди первый элемент и вернуть его значение
38+
- int front(); // Вернуть значение первого элемента
39+
- int size(); // Вернуть количество элементов в очереди
40+
- void clear(); // Очистить очередь
41+
42+
## Дек
43+
44+
### Определение
45+
46+
Деком (англ. deque – аббревиатура от double-ended queue, двухсторонняя очередь) называется структура данных, в которую можно удалять и добавлять элементы как в начало, так и в конец.
47+
48+
### Структура данных Deque
49+
50+
- push_front Добавить (положить) в начало дека новый элемент
51+
- push_back Добавить (положить) в конец дека новый элемент
52+
- pop_front Извлечь из дека первый элемент
53+
- pop_back Извлечь из дека последний элемент
54+
- front Узнать значение первого элемента (не удаляя его)
55+
- back Узнать значение последнего элемента (не удаляя его)
56+
- size Узнать количество элементов в деке
57+
- clear Очистить дек (удалить из него все элементы)
58+
59+
60+
## Упражнения
61+
62+
### Упражнение A - Простой стек
63+
64+
- Реализуйте структуру данных "стек", реализовав все указанные методы.
65+
- Напишите программу (функцию main), содержащую описание стека и моделирующую работу стека.
66+
67+
### Упражнение B - Стек с обработкой ошибок
68+
69+
- Аналогично предыдущему заданию, только снимается ограничение на корректность вызовов методов back и pop.
70+
71+
### Упражнение C - Стек без ограничения на размер
72+
73+
- Реализуйте стек динамического размера, то есть ограниченный только объемом свободной оперативной памяти.
74+
75+
### Упражнение D - Простая очередь
76+
77+
- Реализуйте простейшую очередь, размер которой не превосходит 100 элементов.
78+
79+
### Упражнение E - Очередь с обработкой ошибок
80+
81+
- Аналогично заданию B, но для очереди.
82+
83+
### Упражнение F - Очередь без ограничений на размер
84+
85+
- Аналогично заданию C, но для очереди.
86+
87+
### Упражнение G - Простой дек
88+
89+
- Аналогично заданиям A и D, но для дека.
90+
91+
### Упражнение H - Дек с обработкой ошибок
92+
93+
- Аналогично заданиям B и E, но для дека.
94+
95+
### Упражнение I - Дек неограниченного размера
96+
97+
- Аналогично заданию C и F, но для дека.

0 commit comments

Comments
 (0)
Please sign in to comment.