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)
}
ამ მაგალითში, სტეკი ამოიღებს ბოლო დამატებულ ელემენტს, ხოლო რიგი — პირველ დამატებულს.