Sobes.tech
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)
}

Дар ин мисол, тӯб охирин элементро хориҷ мекунад, ки илова шудааст, ва навбат аввалин элементро.