@@ -51,8 +51,8 @@ Push(values ...T)
5151Example:
5252
5353``` go
54- stack := NewArrayStack [int ]()
55- stack.Push (1 )
54+ stack := NewArrayStack [int ]()
55+ stack.Push (1 )
5656```
5757
5858## 出栈
@@ -66,36 +66,36 @@ Pop Example:
6666
6767``` go
6868type User struct {
69- }
70- stack := NewArrayStack [*User]()
71- fmt.Println (stack.Pop ())
72- u := &User{}
73- stack.Push (u)
74- fmt.Println (stack.Pop ())
75- // Output:
76- // <nil>
77- // &{}
69+ }
70+ stack := NewArrayStack [*User]()
71+ fmt.Println (stack.Pop ())
72+ u := &User{}
73+ stack.Push (u)
74+ fmt.Println (stack.Pop ())
75+ // Output:
76+ // <nil>
77+ // &{}
7878```
7979
8080PopE Example:
8181
8282``` go
8383stack := NewArrayStack [int ]()
84- element , err := stack.PopE ()
85- if errors.Is (err, ErrStackEmpty ) {
86- fmt.Println (" stack empty!" )
87- }
88-
89- stack.Push (1 )
90- element, err = stack.PopE ()
91- if err != nil {
92- fmt.Println (err.Error ())
93- return
94- }
95- fmt.Println (element)
96- // Output:
97- // stack empty!
98- // 1
84+ element , err := stack.PopE ()
85+ if errors.Is (err, ErrStackEmpty ) {
86+ fmt.Println (" stack empty!" )
87+ }
88+
89+ stack.Push (1 )
90+ element, err = stack.PopE ()
91+ if err != nil {
92+ fmt.Println (err.Error ())
93+ return
94+ }
95+ fmt.Println (element)
96+ // Output:
97+ // stack empty!
98+ // 1
9999```
100100
101101## 查看栈顶元素
@@ -108,37 +108,37 @@ PeekE() (T, error)
108108Peek Example:
109109
110110``` go
111- type User struct {
112- }
113- stack := NewArrayStack [*User]()
114- fmt.Println (stack.Peek ())
115- u := &User{}
116- stack.Push (u)
117- fmt.Println (stack.Peek ())
118- // Output:
119- // <nil>
120- // &{}
111+ type User struct {
112+ }
113+ stack := NewArrayStack [*User]()
114+ fmt.Println (stack.Peek ())
115+ u := &User{}
116+ stack.Push (u)
117+ fmt.Println (stack.Peek ())
118+ // Output:
119+ // <nil>
120+ // &{}
121121```
122122
123123PeekE Example:
124124
125125``` go
126126stack := NewArrayStack [int ]()
127- element , err := stack.PeekE ()
128- if errors.Is (err, ErrStackEmpty ) {
129- fmt.Println (" stack empty!" )
130- }
131-
132- stack.Push (1 )
133- element, err = stack.PeekE ()
134- if err != nil {
135- fmt.Println (err.Error ())
136- return
137- }
138- fmt.Println (element)
139- // Output:
140- // stack empty!
141- // 1
127+ element , err := stack.PeekE ()
128+ if errors.Is (err, ErrStackEmpty ) {
129+ fmt.Println (" stack empty!" )
130+ }
131+
132+ stack.Push (1 )
133+ element, err = stack.PeekE ()
134+ if err != nil {
135+ fmt.Println (err.Error ())
136+ return
137+ }
138+ fmt.Println (element)
139+ // Output:
140+ // stack empty!
141+ // 1
142142```
143143
144144## 判断栈是否空
@@ -151,25 +151,25 @@ IsNotEmpty() bool
151151IsEmpty Example:
152152
153153``` go
154- stack := NewArrayStack [int ]()
155- fmt.Println (stack.IsEmpty ())
156- stack.Push (1 )
157- fmt.Println (stack.IsEmpty ())
158- // Output:
159- // true
160- // false
154+ stack := NewArrayStack [int ]()
155+ fmt.Println (stack.IsEmpty ())
156+ stack.Push (1 )
157+ fmt.Println (stack.IsEmpty ())
158+ // Output:
159+ // true
160+ // false
161161```
162162
163163IsNotEmpty Example:
164164
165165``` go
166- stack := NewArrayStack [int ]()
167- fmt.Println (stack.IsNotEmpty ())
168- stack.Push (1 )
169- fmt.Println (stack.IsNotEmpty ())
170- // Output:
171- // false
172- // true
166+ stack := NewArrayStack [int ]()
167+ fmt.Println (stack.IsNotEmpty ())
168+ stack.Push (1 )
169+ fmt.Println (stack.IsNotEmpty ())
170+ // Output:
171+ // false
172+ // true
173173```
174174
175175## 栈中元素个数
@@ -181,11 +181,11 @@ Size() int
181181Example:
182182
183183``` go
184- stack := NewArrayStack [int ]()
185- stack.Push (1 )
186- fmt.Println (stack.Size ())
187- // Output:
188- // 1
184+ stack := NewArrayStack [int ]()
185+ stack.Push (1 )
186+ fmt.Println (stack.Size ())
187+ // Output:
188+ // 1
189189```
190190
191191## 清空栈
@@ -197,14 +197,14 @@ Clear()
197197Example:
198198
199199``` go
200- stack := NewArrayStack [int ]()
201- stack.Push (1 )
202- fmt.Println (stack.Size ())
203- stack.Clear ()
204- fmt.Println (stack.Size ())
205- // Output:
206- // 1
207- // 0
200+ stack := NewArrayStack [int ]()
201+ stack.Push (1 )
202+ fmt.Println (stack.Size ())
203+ stack.Clear ()
204+ fmt.Println (stack.Size ())
205+ // Output:
206+ // 1
207+ // 0
208208```
209209
210210## String
@@ -214,11 +214,11 @@ Example:
214214Example:
215215
216216``` go
217- stack := NewArrayStack [int ]()
218- stack.Push (1 )
219- fmt.Println (stack.String ())
220- // Output:
221- // [1]
217+ stack := NewArrayStack [int ]()
218+ stack.Push (1 )
219+ fmt.Println (stack.String ())
220+ // Output:
221+ // [1]
222222```
223223
224224# ArrayStack
@@ -228,10 +228,10 @@ Example:
228228Example:
229229
230230``` go
231- stack := NewArrayStack [int ]()
232- fmt.Println (stack.String ())
233- // Output:
234- // []
231+ stack := NewArrayStack [int ]()
232+ fmt.Println (stack.String ())
233+ // Output:
234+ // []
235235```
236236
237237# LinkedStack
@@ -241,10 +241,10 @@ Example:
241241Example:
242242
243243``` go
244- stack := NewLinkedStack [int ]()
245- fmt.Println (stack.String ())
246- // Output:
247- // []
244+ stack := NewLinkedStack [int ]()
245+ fmt.Println (stack.String ())
246+ // Output:
247+ // []
248248```
249249
250250# 五、最大栈 & 最小栈
@@ -261,41 +261,41 @@ GetMinE() (T, error)
261261GetMin Example:
262262
263263``` go
264- stack := NewSyncMinStack [int ](func (a, b int ) int { return a - b })
264+ stack := NewSyncMinStack [int ](func (a, b int ) int { return a - b })
265265
266- _ , err := stack.GetMinE ()
267- assert.ErrorIs (t, err, ErrStackEmpty )
266+ _ , err := stack.GetMinE ()
267+ assert.ErrorIs (t, err, ErrStackEmpty )
268268
269- stack.Push (10 )
270- stack.Push (7 )
271- stack.Push (9 )
272- element , err := stack.GetMinE ()
273- assert.Nil (t, err)
274- assert.Equal (t, 7 , element)
269+ stack.Push (10 )
270+ stack.Push (7 )
271+ stack.Push (9 )
272+ element , err := stack.GetMinE ()
273+ assert.Nil (t, err)
274+ assert.Equal (t, 7 , element)
275275```
276276
277277GetMinE Example:
278278
279279``` go
280280stack := NewSyncMinStack [int ](func (a, b int ) int { return a - b })
281281
282- _ , err := stack.GetMinE ()
283- if errors.Is (err, ErrStackEmpty ) {
284- fmt.Println (" stack empty!" )
285- }
286-
287- stack.Push (10 )
288- stack.Push (7 )
289- stack.Push (9 )
290- element , err := stack.GetMinE ()
291- if err != nil {
292- fmt.Println (err.Error ())
293- return
294- }
295- fmt.Println (element)
296- // Output:
297- // stack empty!
298- // 7
282+ _ , err := stack.GetMinE ()
283+ if errors.Is (err, ErrStackEmpty ) {
284+ fmt.Println (" stack empty!" )
285+ }
286+
287+ stack.Push (10 )
288+ stack.Push (7 )
289+ stack.Push (9 )
290+ element , err := stack.GetMinE ()
291+ if err != nil {
292+ fmt.Println (err.Error ())
293+ return
294+ }
295+ fmt.Println (element)
296+ // Output:
297+ // stack empty!
298+ // 7
299299```
300300
301301## MaxStack && SyncMaxStack
@@ -310,41 +310,41 @@ GetMaxE() (T, error)
310310GetMax Example:
311311
312312``` go
313- stack := NewSyncMaxStack [int ](func (a, b int ) int { return a - b })
313+ stack := NewSyncMaxStack [int ](func (a, b int ) int { return a - b })
314314
315- _ , err := stack.GetMaxE ()
316- assert.ErrorIs (t, err, ErrStackEmpty )
315+ _ , err := stack.GetMaxE ()
316+ assert.ErrorIs (t, err, ErrStackEmpty )
317317
318- stack.Push (10 )
319- stack.Push (7 )
320- stack.Push (9 )
321- element , err := stack.GetMaxE ()
322- assert.Nil (t, err)
323- assert.Equal (t, 10 , element)
318+ stack.Push (10 )
319+ stack.Push (7 )
320+ stack.Push (9 )
321+ element , err := stack.GetMaxE ()
322+ assert.Nil (t, err)
323+ assert.Equal (t, 10 , element)
324324```
325325
326326GetMaxE Example:
327327
328328``` go
329- stack := NewSyncMaxStack [int ](func (a, b int ) int { return a - b })
330-
331- _ , err := stack.GetMaxE ()
332- if errors.Is (err, ErrStackEmpty ) {
333- fmt.Println (" stack empty!" )
334- }
335-
336- stack.Push (10 )
337- stack.Push (7 )
338- stack.Push (9 )
339- element , err := stack.GetMaxE ()
340- if err != nil {
341- fmt.Println (err.Error ())
342- return
343- }
344- fmt.Println (element)
345- // Output:
346- // stack empty!
347- // 10
329+ stack := NewSyncMaxStack [int ](func (a, b int ) int { return a - b })
330+
331+ _ , err := stack.GetMaxE ()
332+ if errors.Is (err, ErrStackEmpty ) {
333+ fmt.Println (" stack empty!" )
334+ }
335+
336+ stack.Push (10 )
337+ stack.Push (7 )
338+ stack.Push (9 )
339+ element , err := stack.GetMaxE ()
340+ if err != nil {
341+ fmt.Println (err.Error ())
342+ return
343+ }
344+ fmt.Println (element)
345+ // Output:
346+ // stack empty!
347+ // 10
348348```
349349
350350# TODO
0 commit comments