Sobes.tech
Junior — Middle

Millised on Stack andmestruktuuri peamised eelised ja puudused?

sobes.tech AI

Vastus AI-lt

Järjekord (Queue) on andmestruktuur, kus elemendid lisatakse lõppu ja eemaldatakse algusest, toimib FIFO (First In, First Out) põhimõttel.

Eelised:

  • Lihtne realiseerida ja kasutada.
  • Kiire juurdepääs esimesele elemendile.
  • Sobib erinevates rakendustes, kus oluline on säilitada sisestamise järjekord.

Miinused:

  • Piiratud juurdepääs: saab töötada ainult esimese elemendiga.
  • Võib olla piiratud suurusega, kui seda ei laiendata dünaamiliselt.

Näide Go keeles:

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
}