Migrate to Zensical (#1869)

* Fix Russian Ruby code extraction.

* Add zensical configs.
This commit is contained in:
Yudong Jin
2026-03-29 05:41:25 +08:00
committed by GitHub
parent bc4c5ec414
commit 7a78369e4c
84 changed files with 1302 additions and 445 deletions
+3 -3
View File
@@ -4,7 +4,7 @@ Created Time: 2024-03-18
Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end
# ## Класс узла связного списка ###
### Класс узла связного списка ###
class ListNode
attr_accessor :val # Значение узла
attr_accessor :next # Ссылка на следующий узел
@@ -15,7 +15,7 @@ class ListNode
end
end
# ## Десериализация списка в связный список ###
### Десериализация списка в связный список ###
def arr_to_linked_list(arr)
head = current = ListNode.new(arr[0])
@@ -27,7 +27,7 @@ def arr_to_linked_list(arr)
head
end
# ## Сериализация связного списка в список ###
### Сериализация связного списка в список ###
def linked_list_to_arr(head)
arr = []
+6 -6
View File
@@ -6,14 +6,14 @@ Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
require_relative "./tree_node"
# ## Вывести матрицу ###
### Вывести матрицу ###
def print_matrix(mat)
s = []
mat.each { |arr| s << " #{arr.to_s}" }
puts "[\n#{s.join(",\n")}\n]"
end
# ## Вывести связный список ###
### Вывести связный список ###
def print_linked_list(head)
list = []
while head
@@ -39,8 +39,8 @@ def show_trunk(p)
print p.str
end
# ## Вывести двоичное дерево ###
# Этот вывод дерева заимствован из TECHIE DELIGHT
### Вывести двоичное дерево ###
# This tree printer is borrowed from TECHIE DELIGHT
# https://www.techiedelight.com/c-program-print-binary-tree/
def print_tree(root, prev=nil, is_right=false)
return if root.nil?
@@ -66,12 +66,12 @@ def print_tree(root, prev=nil, is_right=false)
print_tree(root.left, trunk, false)
end
# ## Вывести хеш-таблицу ###
### Вывести хеш-таблицу ###
def print_hash_map(hmap)
hmap.entries.each { |key, value| puts "#{key} -> #{value}" }
end
# ## Вывести кучу ###
### Вывести кучу ###
def print_heap(heap)
puts "Массивное представление кучи:#{heap}"
puts "Древовидное представление кучи:"
+5 -5
View File
@@ -4,7 +4,7 @@ Created Time: 2024-03-30
Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end
# ## Класс узла двоичного дерева ###
### Класс узла двоичного дерева ###
class TreeNode
attr_accessor :val # Значение узла
attr_accessor :height # Высота узла
@@ -17,7 +17,7 @@ class TreeNode
end
end
# ## Десериализация списка в двоичное дерево: рекурсия ###
### Десериализация списка в двоичное дерево: рекурсия ###
def arr_to_tree_dfs(arr, i)
# Если индекс выходит за длину массива или соответствующий элемент равен nil, вернуть nil
return if i < 0 || i >= arr.length || arr[i].nil?
@@ -29,12 +29,12 @@ def arr_to_tree_dfs(arr, i)
root
end
# ## Десериализация списка в двоичное дерево ###
### Десериализация списка в двоичное дерево ###
def arr_to_tree(arr)
arr_to_tree_dfs(arr, 0)
end
# ## Сериализация двоичного дерева в список: рекурсия ###
### Сериализация двоичного дерева в список: рекурсия ###
def tree_to_arr_dfs(root, i, res)
return if root.nil?
@@ -45,7 +45,7 @@ def tree_to_arr_dfs(root, i, res)
tree_to_arr_dfs(root.right, 2 * i + 2, res)
end
# ## Сериализация двоичного дерева в список ###
### Сериализация двоичного дерева в список ###
def tree_to_arr(root)
res = []
tree_to_arr_dfs(root, 0, res)
+3 -3
View File
@@ -4,7 +4,7 @@ Created Time: 2024-04-25
Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end
# ## Класс вершины ###
### Класс вершины ###
class Vertex
attr_accessor :val
@@ -13,12 +13,12 @@ class Vertex
end
end
# ## На вход подается список значений vals, на выходе возвращается список вершин vets ###
### На вход подается список значений vals, на выходе возвращается список вершин vets ###
def vals_to_vets(vals)
Array.new(vals.length) { |i| Vertex.new(vals[i]) }
end
# ## На вход подается список вершин vets, на выходе возвращается список значений vals ###
### На вход подается список вершин vets, на выходе возвращается список значений vals ###
def vets_to_vals(vets)
Array.new(vets.length) { |i| vets[i].val }
end