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
@@ -4,29 +4,29 @@ Created Time: 2024-04-05
Author: Xuan Khoa Tu Nguyen (ngxktuzkai2000@gmail.com)
=end
# ## Двусторонняя очередь на основе кольцевого массива ###
### Двусторонняя очередь на основе кольцевого массива ###
class ArrayDeque
# ## Получение длины двусторонней очереди ###
### Получение длины двусторонней очереди ###
attr_reader :size
# ## Конструктор ###
### Конструктор ###
def initialize(capacity)
@nums = Array.new(capacity, 0)
@front = 0
@size = 0
end
# ## Получить вместимость двусторонней очереди ###
### Получить вместимость двусторонней очереди ###
def capacity
@nums.length
end
# ## Проверка, пуста ли двусторонняя очередь ###
### Проверка, пуста ли двусторонняя очередь ###
def is_empty?
size.zero?
end
# ## Добавление в голову очереди ###
### Добавление в голову очереди ###
def push_first(num)
if size == capacity
puts 'Двусторонняя очередь заполнена'
@@ -41,7 +41,7 @@ class ArrayDeque
@size += 1
end
# ## Добавление в хвост очереди ###
### Добавление в хвост очереди ###
def push_last(num)
if size == capacity
puts 'Двусторонняя очередь заполнена'
@@ -55,7 +55,7 @@ class ArrayDeque
@size += 1
end
# ## Извлечение из головы очереди ###
### Извлечение из головы очереди ###
def pop_first
num = peek_first
# Указатель головы сдвигается на одну позицию назад
@@ -64,21 +64,21 @@ class ArrayDeque
num
end
# ## Извлечение из хвоста очереди ###
### Извлечение из хвоста очереди ###
def pop_last
num = peek_last
@size -= 1
num
end
# ## Доступ к элементу в начале очереди ###
### Доступ к элементу в начале очереди ###
def peek_first
raise IndexError, 'двусторонняя очередь пуста' if is_empty?
@nums[@front]
end
# ## Доступ к элементу в хвосте очереди ###
### Доступ к элементу в хвосте очереди ###
def peek_last
raise IndexError, 'двусторонняя очередь пуста' if is_empty?
@@ -87,7 +87,7 @@ class ArrayDeque
@nums[last]
end
# ## Вернуть массив для вывода ###
### Вернуть массив для вывода ###
def to_array
# Преобразовывать только элементы списка в пределах фактической длины
res = []
@@ -99,7 +99,7 @@ class ArrayDeque
private
# ## Вычислить индекс в кольцевом массиве ###
### Вычислить индекс в кольцевом массиве ###
def index(i)
# С помощью операции взятия по модулю соединить начало и конец массива
# Когда i выходит за конец массива, он возвращается в начало