Sobes.tech
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
}