Sobes.tech
Senior

Ներկայացրեք LIFO և FIFO տարբերությունը՝ օգտագործելով տախտակ և հերթի օրինակ։

sobes.tech AI

Պատասխան AI-ից

LIFO (Last In, First Out) և FIFO (First In, First Out) երկու եղանակ են տվյալների կազմակերպման:

  • LIFO — վերջերս մուտք գործածը, առաջինը դուրս է գալիս։ Օրինակ՝ շերտ։ Վերջին ավելացված տարրն առաջինը հանվում է։
  • FIFO — առաջին մուտք գործածը, առաջինը դուրս է գալիս։ Օրինակ՝ հերթ։ Ավելացված տարրերը հանվում են ըստ հերթականության։

Օրինակ Go-ում՝

package main

import "fmt"

func main() {
    // Շերտ (LIFO)
    stack := []int{}
    stack = append(stack, 1) // push
    stack = append(stack, 2)
    fmt.Println("Շերտ:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // pop
    fmt.Println("Հանված տարր (LIFO):", top)

    // Հերթ (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("Հերթ:", queue)
    first := queue[0]
    queue = queue[1:] // dequeue
    fmt.Println("Հանված տարր (FIFO):", first)
}

Այս օրինակով, շերտը հանում է վերջին ավելացված տարրն, իսկ հերթը՝ առաջինը։