mirror of
https://github.com/krahets/hello-algo.git
synced 2026-06-16 23:27:59 +08:00
* 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
43 lines
1.7 KiB
Dart
43 lines
1.7 KiB
Dart
/**
|
|
* File: deque.dart
|
|
* Created Time: 2023-03-28
|
|
* Author: liuyuxin (gvenusleo@gmail.com)
|
|
*/
|
|
|
|
import 'dart:collection';
|
|
|
|
void main() {
|
|
/* Инициализация двусторонней очереди */
|
|
final Queue<int> deque = Queue();
|
|
deque.addFirst(3);
|
|
deque.addLast(2);
|
|
deque.addLast(5);
|
|
print("Двусторонняя очередь deque = $deque");
|
|
|
|
/* Доступ к элементу */
|
|
final int peekFirst = deque.first;
|
|
print("Первый элемент peekFirst = $peekFirst");
|
|
final int peekLast = deque.last;
|
|
print("Последний элемент peekLast = $peekLast");
|
|
|
|
/* Добавление элемента в очередь */
|
|
deque.addLast(4);
|
|
print("После добавления элемента 4 в хвост deque = $deque");
|
|
deque.addFirst(1);
|
|
print("После добавления элемента 1 в голову deque = $deque");
|
|
|
|
/* Извлечение элемента из очереди */
|
|
final int popLast = deque.removeLast();
|
|
print("Извлеченный из хвоста элемент = $popLast, deque после извлечения из хвоста = $deque");
|
|
final int popFirst = deque.removeFirst();
|
|
print("Извлеченный из головы элемент = $popFirst, deque после извлечения из головы = $deque");
|
|
|
|
/* Получение длины двусторонней очереди */
|
|
final int size = deque.length;
|
|
print("Длина двусторонней очереди size = $size");
|
|
|
|
/* Проверка, пуста ли двусторонняя очередь */
|
|
final bool isEmpty = deque.isEmpty;
|
|
print("Пуста ли двусторонняя очередь = $isEmpty");
|
|
}
|