Sobes.tech
Senior

Izskaidrojiet atšķirību starp LIFO un FIFO, izmantojot steka un rindas piemēru.

sobes.tech AI

Atbilde no AI

LIFO (Last In, First Out) un FIFO (First In, First Out) ir divi veidi, kā organizēt datus.

  • LIFO — pēdējais ienācis, pirmais iziet. Piemērs: kaudze. Pēdējais pievienotais elements tiek izņemts pirmais.
  • FIFO — pirmais ienācis, pirmais iziet. Piemērs: rinda. Elementi tiek izņemti pēc pievienošanas secības.

Piemērs Go valodā:

package main

import "fmt"

func main() {
    // Kaudze (LIFO)
    stack := []int{}
    stack = append(stack, 1) // pievienot
    stack = append(stack, 2)
    fmt.Println("Kaudze:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // izņemt
    fmt.Println("Izņemtais elements (LIFO):", top)

    // Rinda (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Rinda:", queue)
    first := queue[0]
    queue = queue[1:] // izņemt
    fmt.Println("Izņemtais elements (FIFO):", first)
}

Šajā piemērā, kaudze izņem pēdējo pievienoto elementu, bet rinda — pirmo.