mirror of https://github.com/emirpasic/gods
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
856 B
Go
27 lines
856 B
Go
2 years ago
|
// Copyright (c) 2015, Emir Pasic. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package main
|
||
|
|
||
|
import cb "github.com/emirpasic/gods/queues/circularbuffer"
|
||
|
|
||
|
// CircularBufferExample to demonstrate basic usage of CircularBuffer
|
||
|
func main() {
|
||
|
queue := cb.New(3) // empty (max size is 3)
|
||
|
queue.Enqueue(1) // 1
|
||
|
queue.Enqueue(2) // 1, 2
|
||
|
queue.Enqueue(3) // 1, 2, 3
|
||
|
_ = queue.Values() // 1, 2, 3
|
||
|
queue.Enqueue(3) // 4, 2, 3
|
||
|
_, _ = queue.Peek() // 4,true
|
||
|
_, _ = queue.Dequeue() // 4, true
|
||
|
_, _ = queue.Dequeue() // 2, true
|
||
|
_, _ = queue.Dequeue() // 3, true
|
||
|
_, _ = queue.Dequeue() // nil, false (nothing to deque)
|
||
|
queue.Enqueue(1) // 1
|
||
|
queue.Clear() // empty
|
||
|
queue.Empty() // true
|
||
|
_ = queue.Size() // 0
|
||
|
}
|