Sobes.tech
Senior

Stack və növbə nümunəsi ilə LIFO və FIFO arasındakı fərqi izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

LIFO (Last In, First Out) və FIFO (First In, First Out) məlumatların təşkil olunmasının iki üsuludur.

  • LIFO — son daxil olan, ilk çıxar. Nümunə: yığın. Ən son əlavə olunan element ilk çıxarılır.
  • FIFO — ilk daxil olan, ilk çıxar. Nümunə: növbə. Elementlər əlavə olunduqları ardıcıllıqla çıxarılır.

Go dilində nümunə:

package main

import "fmt"

func main() {
    // Yığın (LIFO)
    stack := []int{}
    stack = append(stack, 1) // push
    stack = append(stack, 2)
    fmt.Println("Yığın:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // pop
    fmt.Println("Çıxarılmış element (LIFO):", top)

    // Növbə (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Növbə:", queue)
    first := queue[0]
    queue = queue[1:] // dequeue
    fmt.Println("Çıxarılmış element (FIFO):", first)
}

Bu nümunədə, yığın əlavə olunan son elementi çıxarır, növbə isə ilk əlavə olunan elementi.