Junior — Middle
Kādi ir galvenie Stack datu struktūras priekšrocības un trūkumi?
sobes.tech AI
Atbilde no AI
Rinda (Queue) — tai duomenų struktūra, kurioje elementai pridedami į galą ir išimami iš pradžios, veikia FIFO (First In, First Out) principu.
Privalumai:
- Paprasta įgyvendinti ir naudoti.
- Greitas prieigos prie pirmojo elemento pasiekimas.
- Tinka įvairioms taikymo sritims, kur svarbu išlaikyti įvedimo tvarką.
Trūkumai:
- Ribotas prieigos būdas: galima dirbti tik su pirmuoju elementu.
- Gali būti apribotas dydis, jei nėra dinamiškai išplėstas.
Pavyzdys Go kalba:
package main
import "fmt"
type Queue []int
func (q *Queue) Enqueue(v int) {
*q = append(*q, v)
}
func (q *Queue) Dequeue() (int, bool) {
if len(*q) == 0 {
return 0, false
}
elem := (*q)[0]
*q = (*q)[1:]
return elem, true
}
func main() {
var q Queue
q.Enqueue(1)
q.Enqueue(2)
fmt.Println(q.Dequeue()) // 1, true
fmt.Println(q.Dequeue()) // 2, true
}