File tree Expand file tree Collapse file tree 3 files changed +28
-5
lines changed
Expand file tree Collapse file tree 3 files changed +28
-5
lines changed Original file line number Diff line number Diff line change 11name = " DataStructures"
22uuid = " 864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
3- version = " 0.19.0-DEV "
3+ version = " 0.18.0 "
44
55[deps ]
66Compat = " 34da2185-b29b-5c13-b0c7-acf172513d20"
Original file line number Diff line number Diff line change @@ -43,15 +43,16 @@ Get the top item from the stack. Sometimes called peek.
4343Base. first (s:: Stack ) = last (s. store)
4444Base. last (s:: Stack ) = first (s. store)
4545
46- function Base. push! (s:: Stack , x)
47- push! (s. store, x)
48- return s
49- end
46+ Base. push! (s:: Stack , x) = (push! (s. store, x); s)
47+ Base. pushfirst! (s:: Stack , x) = (pushfirst! (s. store, x); s)
5048
5149Base. pop! (s:: Stack ) = pop! (s. store)
50+ Base. popfirst! (s:: Stack ) = popfirst! (s. store)
5251
5352Base. empty! (s:: Stack ) = (empty! (s. store); s)
5453
54+ Base. collect (s:: Stack ) = collect (s. store)
55+
5556Base. iterate (st:: Stack , s... ) = iterate (Iterators. reverse (st. store), s... )
5657
5758Iterators. reverse (s:: Stack{T} ) where {T} = DequeIterator {T} (s. store)
Original file line number Diff line number Diff line change 3838 @test isempty (s) == (i == n)
3939 @test length (s) == n - i
4040 end
41+
42+ for i = 1 : n
43+ pushfirst! (s, i)
44+ @test first (s) == 1
45+ @test last (s) == i
46+ @test ! isempty (s)
47+ @test length (s) == i
48+ end
49+
50+ @test collect (s) == collect (n: - 1 : 1 )
51+
52+ for i = 1 : n
53+ x = popfirst! (s)
54+ @test x == n - i + 1
55+ if i < n
56+ @test first (s) == 1
57+ else
58+ @test_throws ArgumentError first (s)
59+ end
60+ @test isempty (s) == (i == n)
61+ @test length (s) == n - i
62+ end
4163 end
4264
4365 @testset " ==" begin
You can’t perform that action at this time.
0 commit comments