Sobes.tech
Senior

Selgitage LIFO ja FIFO vahe, kasutades näidet virna ja virnaga kohta.

sobes.tech AI

Vastus AI-lt

LIFO (Last In, First Out) ja FIFO (First In, First Out) on kaks andmetega organiseerimise viis.

  • LIFO — viimane siseneja, esimene väljub. Näide: virn. Viimati lisatud element väljub esimesena.
  • FIFO — esimene siseneja, esimene väljub. Näide: järjekord. Elemente väljutakse nende lisamise järjekorras.

Näide Go keeles:

package main

import "fmt"

func main() {
    // Virn (LIFO)
    stack := []int{}
    stack = append(stack, 1) // lisa
    stack = append(stack, 2)
    fmt.Println("Virn:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // eemalda
    fmt.Println("Eemaldatud element (LIFO):", top)

    // Järjekord (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Järjekord:", queue)
    first := queue[0]
    queue = queue[1:] // eemalda
    fmt.Println("Eemaldatud element (FIFO):", first)
}

Selles näites eemaldab virn viimase lisatud elemendi, ja järjekord esimese lisatud elemendi.