To create and use a queue (FIFO) in Go using the container/package, follow these steps:
Step 1: Import necessary packages:
import (
"container/list"
"fmt"
)
Step 2: Create a new queue:
q := list.New()
Step 3: Insert elements into the queue:
q.PushBack("element1")
q.PushBack("element2")
q.PushBack("element3")
Step 4: Retrieve and remove the first element from the queue (FIFO):
firstElement := q.Front()
q.Remove(firstElement)
fmt.Println(firstElement.Value)
Step 5: Check if the queue is empty:
isEmpty := q.Len() == 0
fmt.Println(isEmpty)
Step 6: Iterate over the elements in the queue:
for e := q.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
Here's a complete example:
import (
"container/list"
"fmt"
)
func main() {
q := list.New()
q.PushBack("element1")
q.PushBack("element2")
q.PushBack("element3")
firstElement := q.Front()
q.Remove(firstElement)
fmt.Println(firstElement.Value)
isEmpty := q.Len() == 0
fmt.Println(isEmpty)
for e := q.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
This example demonstrates how to create a queue using the container/list package and perform basic operations like adding elements, retrieving and removing elements, checking if the queue is empty, and iterating over the elements in the queue.