Senior
Обяснете разликата между LIFO и FIFO с пример за стек и опашка.
sobes.tech AI
Отговор от AI
LIFO (Last In, First Out) и FIFO (First In, First Out) са два начина за организиране на данни.
- LIFO — последният влезнал, първият излязъл. Пример: стек. Последният добавен елемент се извлича първи.
- FIFO — първият влезнал, първият излязъл. Пример: опашка. Елементите се извличат в реда, в който са добавени.
Пример на Go:
package main
import "fmt"
func main() {
// Стек (LIFO)
stack := []int{}
stack = append(stack, 1) // push
stack = append(stack, 2)
fmt.Println("Стек:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // pop
fmt.Println("Изваден елемент (LIFO):", top)
// Опашка (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Опашка:", queue)
first := queue[0]
queue = queue[1:] // dequeue
fmt.Println("Изваден елемент (FIFO):", first)
}
В този пример стекът извлича последно добавения елемент, а опашката — първия.