Sobes.tech
Senior

Paaiškinkite skirtumą tarp LIFO ir FIFO, naudodami pavyzdį su steku ir eile.

sobes.tech AI

Atsakymas iš AI

LIFO (Last In, First Out) ir FIFO (First In, First Out) yra du būdai organizuoti duomenis.

  • LIFO — paskutinis įeinantis, pirmas išeinantis. Pavyzdys: krūva. Paskutinis pridėtas elementas išimamas pirmas.
  • FIFO — pirmas įeinantis, pirmas išeinantis. Pavyzdys: eilė. Elementai išimami pagal pridėjimo tvarką.

Pavyzdys Go kalba:

package main

import "fmt"

func main() {
    // Krūva (LIFO)
    stack := []int{}
    stack = append(stack, 1) // pridėti
    stack = append(stack, 2)
    fmt.Println("Krūva:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // išimti
    fmt.Println("Išimtas elementas (LIFO):", top)

    // Eilė (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Eilė:", queue)
    first := queue[0]
    queue = queue[1:] // išimti
    fmt.Println("Išimtas elementas (FIFO):", first)
}

Šiame pavyzdyje, krūva išims paskutinį pridėtą elementą, o eilė — pirmą pridėtą.