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 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"
|
||||
|
@ -331,7 +331,29 @@
|
||||
=== "Ruby"
|
||||
|
||||
```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"
|
||||
|
@ -325,7 +325,28 @@
|
||||
=== "Ruby"
|
||||
|
||||
```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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user