Sobes.tech
Senior

Stack жана кезек мисалында 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) // кошуу
    stack = append(stack, 2)
    fmt.Println("Стек:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // чыгуу
    fmt.Println("Чыгарылган элемент (LIFO):", top)

    // Кезек (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Кезек:", queue)
    first := queue[0]
    queue = queue[1:] // чыгуу
    fmt.Println("Чыгарылган элемент (FIFO):", first)
}

Бул мисалда стек акыркы кошулган элементти чыгарат, ал эми кезек биринчи кошулган элементти чыгарат.