Ответ
Стек (stack) — это структура данных, работающая по принципу LIFO (Last In, First Out). Последний добавленный элемент извлекается первым.
Основные операции:
- Push — добавление элемента на вершину стека.
- Pop — извлечение элемента с вершины.
- Peek/Top — просмотр верхнего элемента без удаления.
Пример на Go:
package main
import "fmt"
type Stack []int
func (s *Stack) Push(v int) {
*s = append(*s, v)
}
func (s *Stack) Pop() int {
if len(*s) == 0 {
panic("stack is empty")
}
res := (*s)[len(*s)-1]
*s = (*s)[:len(*s)-1]
return res
}
func main() {
var s Stack
s.Push(1)
s.Push(2)
fmt.Println(s.Pop()) // 2
}
Стек используется в рекурсии, парсинге, отмене операций (undo). В Go реализуется через слайс или список.
Видео-ответы
▶
▶
▶
▶
▶
▶