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)
}
Σε αυτό το παράδειγμα, η στοίβα εξάγει το τελευταίο στοιχείο που προστέθηκε, και η ουρά το πρώτο.