mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-22 11:26:07 +00:00
Add ru version (#1865)
* Add Russian docs site baseline * Add Russian localized codebase * Polish Russian code wording * Update ru code translation. * Update code translation and chapter covers. * Fix pythontutor extraction. * Add README and landing page. * placeholder of profiles * Use figures of English version * Remove chapter paperbook
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* File: deque.swift
|
||||
* Created Time: 2023-01-14
|
||||
* Author: nuomi1 (nuomi1@qq.com)
|
||||
*/
|
||||
|
||||
@main
|
||||
enum Deque {
|
||||
/* Driver Code */
|
||||
static func main() {
|
||||
/* Инициализация двусторонней очереди */
|
||||
// В Swift нет встроенного класса двусторонней очереди, поэтому Array можно использовать как двустороннюю очередь
|
||||
var deque: [Int] = []
|
||||
|
||||
/* Добавление элемента в очередь */
|
||||
deque.append(2)
|
||||
deque.append(5)
|
||||
deque.append(4)
|
||||
deque.insert(3, at: 0)
|
||||
deque.insert(1, at: 0)
|
||||
print("Двусторонняя очередь deque = \(deque)")
|
||||
|
||||
/* Доступ к элементу */
|
||||
let peekFirst = deque.first!
|
||||
print("Первый элемент peekFirst = \(peekFirst)")
|
||||
let peekLast = deque.last!
|
||||
print("Последний элемент peekLast = \(peekLast)")
|
||||
|
||||
/* Извлечение элемента из очереди */
|
||||
// При использовании Array для имитации popFirst имеет сложность O(n)
|
||||
let popFirst = deque.removeFirst()
|
||||
print("Извлеченный из головы элемент popFirst = \(popFirst), deque после извлечения из головы = \(deque)")
|
||||
let popLast = deque.removeLast()
|
||||
print("Извлеченный из хвоста элемент popLast = \(popLast), deque после извлечения из хвоста = \(deque)")
|
||||
|
||||
/* Получение длины двусторонней очереди */
|
||||
let size = deque.count
|
||||
print("Длина двусторонней очереди size = \(size)")
|
||||
|
||||
/* Проверка, пуста ли двусторонняя очередь */
|
||||
let isEmpty = deque.isEmpty
|
||||
print("Пуста ли двусторонняя очередь = \(isEmpty)")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user