chore: update driver code (#1265)

This commit is contained in:
khoaxuantu 2024-04-10 21:38:48 +07:00 committed by GitHub
parent a3ee733e7b
commit 6404a53fc6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 439 additions and 421 deletions

View file

@ -76,7 +76,7 @@ end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化数组 # 初始化数组
arr = Array.new(5, 0) arr = Array.new(5, 0)
puts "数组 arr = #{arr}" puts "数组 arr = #{arr}"
@ -105,3 +105,4 @@ traverse(nums)
# 查找元素 # 查找元素
index = find(nums, 3) index = find(nums, 3)
puts "在 nums 中查找元素 3 ,得到索引 = #{index}" puts "在 nums 中查找元素 3 ,得到索引 = #{index}"
end

View file

@ -48,7 +48,7 @@ def find(head, target)
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化链表 # 初始化链表
# 初始化各个节点 # 初始化各个节点
n0 = ListNode.new(1) n0 = ListNode.new(1)
@ -80,3 +80,4 @@ puts "链表中索引 3 处的节点的值 = #{node.val}"
# 查找节点 # 查找节点
index = find(n0, 2) index = find(n0, 2)
puts "链表中值为 2 的节点的索引 = #{index}" puts "链表中值为 2 的节点的索引 = #{index}"
end

View file

@ -5,7 +5,7 @@ Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end =end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化列表 # 初始化列表
nums = [1, 3, 2, 5, 4] nums = [1, 3, 2, 5, 4]
puts "列表 nums = #{nums}" puts "列表 nums = #{nums}"
@ -57,3 +57,4 @@ puts "将列表 nums1 拼接到 nums 之后,得到 nums = #{nums}"
nums = nums.sort { |a, b| a <=> b } nums = nums.sort { |a, b| a <=> b }
puts "排序列表后 nums = #{nums}" puts "排序列表后 nums = #{nums}"
end

View file

@ -95,7 +95,7 @@ class MyList
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化列表 # 初始化列表
nums = MyList.new nums = MyList.new
@ -129,3 +129,4 @@ for i in 0...10
nums.add(i) nums.add(i)
end end
puts "扩容后的列表 nums = #{nums.to_array} ,容量 = #{nums.capacity} ,长度 = #{nums.size}" puts "扩容后的列表 nums = #{nums.to_array} ,容量 = #{nums.capacity} ,长度 = #{nums.size}"
end

View file

@ -62,7 +62,7 @@ def nested_for_loop(n)
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
n = 5 n = 5
res = for_loop(n) res = for_loop(n)
@ -76,3 +76,4 @@ puts "\nwhile 循环(两次更新)求和结果 res = #{res}"
res = nested_for_loop(n) res = nested_for_loop(n)
puts "\n双层 for 循环的遍历结果 #{res}" puts "\n双层 for 循环的遍历结果 #{res}"
end

View file

@ -53,7 +53,7 @@ def fib(n)
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
n = 5 n = 5
res = recur(n) res = recur(n)
@ -67,3 +67,4 @@ puts "\n尾递归函数的求和结果 res = #{res}"
res = fib(n) res = fib(n)
puts "\n斐波那契数列的第 #{n} 项为 #{res}" puts "\n斐波那契数列的第 #{n} 项为 #{res}"
end

View file

@ -72,7 +72,7 @@ def build_tree(n)
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
n = 5 n = 5
# 常数阶 # 常数阶
@ -89,3 +89,4 @@ quadratic_recur(n)
# 指数阶 # 指数阶
root = build_tree(n) root = build_tree(n)
print_tree(root) print_tree(root)
end

View file

@ -128,7 +128,7 @@ def factorial_recur(n)
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 可以修改 n 运行,体会一下各种复杂度的操作数量变化趋势 # 可以修改 n 运行,体会一下各种复杂度的操作数量变化趋势
n = 8 n = 8
puts "输入数据大小 n = #{n}" puts "输入数据大小 n = #{n}"
@ -162,3 +162,4 @@ puts "线性对数阶(递归实现)的操作数量 = #{count}"
count = factorial_recur(n) count = factorial_recur(n)
puts "阶乘阶(递归实现)的操作数量 = #{count}" puts "阶乘阶(递归实现)的操作数量 = #{count}"
end

View file

@ -24,7 +24,7 @@ def find_one(nums)
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
for i in 0...10 for i in 0...10
n = 100 n = 100
nums = random_numbers(n) nums = random_numbers(n)
@ -32,3 +32,4 @@ for i in 0...10
puts "\n数组 [ 1, 2, ..., n ] 被打乱后 = #{nums}" puts "\n数组 [ 1, 2, ..., n ] 被打乱后 = #{nums}"
puts "数字 1 的索引为 #{index}" puts "数字 1 的索引为 #{index}"
end end
end

View file

@ -109,7 +109,7 @@ class ArrayDeque
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化双向队列 # 初始化双向队列
deque = ArrayDeque.new(10) deque = ArrayDeque.new(10)
deque.push_last(3) deque.push_last(3)
@ -142,3 +142,4 @@ puts "双向队列长度 size = #{size}"
# 判断双向队列是否为空 # 判断双向队列是否为空
is_empty = deque.is_empty? is_empty = deque.is_empty?
puts "双向队列是否为空 = #{is_empty}" puts "双向队列是否为空 = #{is_empty}"
end

View file

@ -69,7 +69,7 @@ class ArrayQueue
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化队列 # 初始化队列
queue = ArrayQueue.new(10) queue = ArrayQueue.new(10)
@ -104,3 +104,4 @@ for i in 0...10
queue.pop queue.pop
puts "#{i} 轮入队 + 出队后 queue = #{queue.to_array}" puts "#{i} 轮入队 + 出队后 queue = #{queue.to_array}"
end end
end

View file

@ -47,7 +47,7 @@ class ArrayStack
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化栈 # 初始化栈
stack = ArrayStack.new stack = ArrayStack.new
@ -75,3 +75,4 @@ puts "栈的长度 size = #{size}"
# 判断是否为空 # 判断是否为空
is_empty = stack.is_empty? is_empty = stack.is_empty?
puts "栈是否为空 = #{is_empty}" puts "栈是否为空 = #{is_empty}"
end

View file

@ -5,7 +5,7 @@ Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end =end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化双向队列 # 初始化双向队列
# Ruby 没有内直的双端队列,只能把 Array 当作双端队列来使用 # Ruby 没有内直的双端队列,只能把 Array 当作双端队列来使用
deque = [] deque = []
@ -39,3 +39,4 @@ puts "双向队列长度 size = #{size}"
# 判断双向队列是否为空 # 判断双向队列是否为空
is_empty = size.zero? is_empty = size.zero?
puts "双向队列是否为空 = #{is_empty}" puts "双向队列是否为空 = #{is_empty}"
end

View file

@ -132,7 +132,7 @@ class LinkedListDeque
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化双向队列 # 初始化双向队列
deque = LinkedListDeque.new deque = LinkedListDeque.new
deque.push_last(3) deque.push_last(3)
@ -165,3 +165,4 @@ puts "双向队列长度 size = #{size}"
# 判断双向队列是否为空 # 判断双向队列是否为空
is_empty = deque.is_empty? is_empty = deque.is_empty?
puts "双向队列是否为空 = #{is_empty}" puts "双向队列是否为空 = #{is_empty}"
end

View file

@ -70,7 +70,7 @@ class LinkedListQueue
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化队列 # 初始化队列
queue = LinkedListQueue.new queue = LinkedListQueue.new
@ -98,3 +98,4 @@ puts "队列长度 size = #{size}"
# 判断队列是否为空 # 判断队列是否为空
is_empty = queue.is_empty? is_empty = queue.is_empty?
puts "队列是否为空 = #{is_empty}" puts "队列是否为空 = #{is_empty}"
end

View file

@ -56,7 +56,7 @@ class LinkedListStack
end end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化栈 # 初始化栈
stack = LinkedListStack.new stack = LinkedListStack.new
@ -84,3 +84,4 @@ puts "栈的长度 size = #{size}"
# 判断是否为空 # 判断是否为空
is_empty = stack.is_empty? is_empty = stack.is_empty?
puts "栈是否为空 = #{is_empty}" puts "栈是否为空 = #{is_empty}"
end

View file

@ -5,7 +5,7 @@ Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end =end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化队列 # 初始化队列
# Ruby 内置的队列Thread::Queue) 没有 peek 和遍历方法,可以把 Array 当作队列来使用 # Ruby 内置的队列Thread::Queue) 没有 peek 和遍历方法,可以把 Array 当作队列来使用
queue = [] queue = []
@ -35,3 +35,4 @@ puts "队列长度 size = #{size}"
# 判断队列是否为空 # 判断队列是否为空
is_empty = queue.empty? is_empty = queue.empty?
puts "队列是否为空 = #{is_empty}" puts "队列是否为空 = #{is_empty}"
end

View file

@ -5,7 +5,7 @@ Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end =end
### Driver Code ### ### Driver Code ###
if __FILE__ == $0
# 初始化栈 # 初始化栈
# Ruby 没有内置的栈类,可以把 Array 当作栈来使用 # Ruby 没有内置的栈类,可以把 Array 当作栈来使用
stack = [] stack = []
@ -34,3 +34,4 @@ puts "栈的长度 size = #{size}"
# 判断是否为空 # 判断是否为空
is_empty = stack.empty? is_empty = stack.empty?
puts "栈是否为空 = #{is_empty}" puts "栈是否为空 = #{is_empty}"
end