Senior
Stack va navbat misolida LIFO va FIFO o'rtasidagi farqni tushuntiring.
sobes.tech AI
AIdan javob
LIFO (Last In, First Out) va FIFO (First In, First Out) ikki ma'lumotlarni tashkil qilish usulidir.
- LIFO — oxirgi kelgan, birinchi chiqadi. Misol: stek. Eng so'ng qo'shilgan element birinchi chiqariladi.
- FIFO — birinchi kelgan, birinchi chiqadi. Misol: navbat. Elementlar qo'shilgan tartibda chiqariladi.
Go tilida misol:
package main
import "fmt"
func main() {
// Stek (LIFO)
stack := []int{}
stack = append(stack, 1) // push
stack = append(stack, 2)
fmt.Println("Stek:", stack)
top := stack[len(stack)-1]
stack = stack[:len(stack)-1] // pop
fmt.Println("Olib tashlangan element (LIFO):", top)
// Navbat (FIFO)
queue := []int{1, 2, 3}
fmt.Println("Navbat:", queue)
first := queue[0]
queue = queue[1:] // dequeue
fmt.Println("Olib tashlangan element (FIFO):", first)
}
Ushbu misolda, stek oxirgi qo'shilgan elementni chiqaradi, va navbat birinchi qo'shilgan elementni chiqaradi.