File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 42
42
func (q *Queue) Empty() bool {
43
43
return len(q.items) == 0
44
44
}
45
+
46
+ Deque
47
+ --------------------------------------------------
48
+
49
+ .. code-block :: go
50
+
51
+ import (
52
+ "container/list"
53
+ "fmt"
54
+ )
55
+
56
+ // 滑动窗口最大值
57
+
58
+ type Deque struct {
59
+ ll *list.List
60
+ }
61
+
62
+ func NewDeque() *Deque {
63
+ return &Deque{ll: list.New()}
64
+ }
65
+
66
+ func (dq *Deque) PushFront(x int) {
67
+ dq.ll.PushFront(x)
68
+ }
69
+
70
+ func (dq *Deque) PushBack(x int) {
71
+ dq.ll.PushBack(x)
72
+ }
73
+
74
+ func (dq *Deque) Pop() { // remove back
75
+ dq.ll.Remove(dq.ll.Back())
76
+ }
77
+
78
+ func (dq *Deque) PopFront() { // remove first
79
+ dq.ll.Remove(dq.ll.Front())
80
+ }
81
+
82
+ func (dq *Deque) Front() int {
83
+ return dq.ll.Front().Value.(int)
84
+ }
85
+
86
+ func (dq *Deque) Back() int {
87
+ return dq.ll.Back().Value.(int)
88
+ }
89
+
90
+ func (dq *Deque) Len() int {
91
+ return dq.ll.Len()
92
+ }
You can’t perform that action at this time.
0 commit comments