Go言語の配列を使ったキューの実装方法

Go言語では、スライスを使ってキューを実現できます。

まず、キューを表す構造体を定義します:

type Queue struct {
    items []int
}

次に、キューの基本的な操作であるエンキューとデキューを定義します。

func (q *Queue) Enqueue(item int) {
    q.items = append(q.items, item)
}

func (q *Queue) Dequeue() int {
    if len(q.items) == 0 {
        panic("Queue is empty")
    }

    item := q.items[0]
    q.items = q.items[1:]

    return item
}

キューを使用するには、まずQueueオブジェクトを作成して、Enqueueメソッドでキューに要素を追加します。Dequeueメソッドでキューから要素を取り出します。

キューを使ったサンプルを次に示します。

func main() {
    q := Queue{}

    q.Enqueue(1)
    q.Enqueue(2)
    q.Enqueue(3)

    fmt.Println(q.Dequeue()) // 输出1
    fmt.Println(q.Dequeue()) // 输出2
    fmt.Println(q.Dequeue()) // 输出3
}
bannerAds