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) // დამატება
    stack = append(stack, 2)
    fmt.Println("სტეკი:", stack)
    top := stack[len(stack)-1]
    stack = stack[:len(stack)-1] // ამოღება
    fmt.Println("ამოღებული ელემენტი (LIFO):", top)

    // რიგი (FIFO)
    queue := []int{1, 2, 3}
    fmt.Println("რიგი:", queue)
    first := queue[0]
    queue = queue[1:] // ამოღება
    fmt.Println("ამოღებული ელემენტი (FIFO):", first)
}

ამ მაგალითში, სტეკი ამოიღებს ბოლო დამატებულ ელემენტს, ხოლო რიგი — პირველ დამატებულს.