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.