Sobes.tech
Senior

Stack va navbat misolida LIFO va FIFO o'rtasidagi farqni tushuntiring.

sobes.tech AI

AIdan javob

LIFO (Last In, First Out) va FIFO (First In, First Out) ikki ma'lumotlarni tashkil qilish usulidir.

  • LIFO — oxirgi kelgan, birinchi chiqadi. Misol: stek. Eng so'ng qo'shilgan element birinchi chiqariladi.
  • FIFO — birinchi kelgan, birinchi chiqadi. Misol: navbat. Elementlar qo'shilgan tartibda chiqariladi.

Go tilida misol:

package main

import "fmt"

func main() {
    // Stek (LIFO)
    stack := []int{}
    stack = append(stack, 1) // push
    stack = append(stack, 2)
    fmt.Println("Stek:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // pop
    fmt.Println("Olib tashlangan element (LIFO):", top)

    // Navbat (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Navbat:", queue)
    first := queue[0]
    queue = queue[1:] // dequeue
    fmt.Println("Olib tashlangan element (FIFO):", first)
}

Ushbu misolda, stek oxirgi qo'shilgan elementni chiqaradi, va navbat birinchi qo'shilgan elementni chiqaradi.