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
}