feat: add ruby code blocks - chapter stack and queue (#1234)
This commit is contained in:
parent
5725b8a0f1
commit
e4784ba939
@ -355,7 +355,32 @@
|
|||||||
=== "Ruby"
|
=== "Ruby"
|
||||||
|
|
||||||
```ruby title="deque.rb"
|
```ruby title="deque.rb"
|
||||||
|
# 初始化双向队列
|
||||||
|
# Ruby 没有内直的双端队列,只能把 Array 当作双端队列来使用
|
||||||
|
deque = []
|
||||||
|
|
||||||
|
# 元素如队
|
||||||
|
deque << 2
|
||||||
|
deque << 5
|
||||||
|
deque << 4
|
||||||
|
# 请注意,由于是数组,Array#unshift 方法的时间复杂度为 O(n)
|
||||||
|
deque.unshift(3)
|
||||||
|
deque.unshift(1)
|
||||||
|
|
||||||
|
# 访问元素
|
||||||
|
peek_first = deque.first
|
||||||
|
peek_last = deque.last
|
||||||
|
|
||||||
|
# 元素出队
|
||||||
|
# 请注意,由于是数组, Array#shift 方法的时间复杂度为 O(n)
|
||||||
|
pop_front = deque.shift
|
||||||
|
pop_back = deque.pop
|
||||||
|
|
||||||
|
# 获取双向队列的长度
|
||||||
|
size = deque.length
|
||||||
|
|
||||||
|
# 判断双向队列是否为空
|
||||||
|
is_empty = size.zero?
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Zig"
|
=== "Zig"
|
||||||
|
@ -331,7 +331,29 @@
|
|||||||
=== "Ruby"
|
=== "Ruby"
|
||||||
|
|
||||||
```ruby title="queue.rb"
|
```ruby title="queue.rb"
|
||||||
|
# 初始化队列
|
||||||
|
# Ruby 内置的队列(Thread::Queue) 没有 peek 和遍历方法,可以把 Array 当作队列来使用
|
||||||
|
queue = []
|
||||||
|
|
||||||
|
# 元素入队
|
||||||
|
queue.push(1)
|
||||||
|
queue.push(3)
|
||||||
|
queue.push(2)
|
||||||
|
queue.push(5)
|
||||||
|
queue.push(4)
|
||||||
|
|
||||||
|
# 访问队列元素
|
||||||
|
peek = queue.first
|
||||||
|
|
||||||
|
# 元素出队
|
||||||
|
# 清注意,由于是数组,Array#shift 方法时间复杂度为 O(n)
|
||||||
|
pop = queue.shift
|
||||||
|
|
||||||
|
# 获取队列的长度
|
||||||
|
size = queue.length
|
||||||
|
|
||||||
|
# 判断队列是否为空
|
||||||
|
is_empty = queue.empty?
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Zig"
|
=== "Zig"
|
||||||
|
@ -325,7 +325,28 @@
|
|||||||
=== "Ruby"
|
=== "Ruby"
|
||||||
|
|
||||||
```ruby title="stack.rb"
|
```ruby title="stack.rb"
|
||||||
|
# 初始化栈
|
||||||
|
# Ruby 没有内置的栈类,可以把 Array 当作栈来使用
|
||||||
|
stack = []
|
||||||
|
|
||||||
|
# 元素入栈
|
||||||
|
stack << 1
|
||||||
|
stack << 3
|
||||||
|
stack << 2
|
||||||
|
stack << 5
|
||||||
|
stack << 4
|
||||||
|
|
||||||
|
# 访问栈顶元素
|
||||||
|
peek = stack.last
|
||||||
|
|
||||||
|
# 元素出栈
|
||||||
|
pop = stack.pop
|
||||||
|
|
||||||
|
# 获取栈的长度
|
||||||
|
size = stack.length
|
||||||
|
|
||||||
|
# 判断是否为空
|
||||||
|
is_empty = stack.empty?
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Zig"
|
=== "Zig"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user