Files
hello-algo/ru/codes/csharp/chapter_stack_and_queue/deque.cs
T
Yudong Jin 772183705e 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
2026-03-28 04:24:07 +08:00

45 lines
2.2 KiB
C#

/**
* File: deque.cs
* Created Time: 2022-12-30
* Author: moonache (microin1301@outlook.com)
*/
namespace hello_algo.chapter_stack_and_queue;
public class deque {
[Test]
public void Test() {
/* Инициализация двусторонней очереди */
// В C# связный список LinkedList рассматривается как двусторонняя очередь
LinkedList<int> deque = new();
/* Добавление элемента в очередь */
deque.AddLast(2); // Добавить в хвост очереди
deque.AddLast(5);
deque.AddLast(4);
deque.AddFirst(3); // Добавить в голову очереди
deque.AddFirst(1);
Console.WriteLine("Двусторонняя очередь deque = " + string.Join(",", deque));
/* Доступ к элементу */
int? peekFirst = deque.First?.Value; // Элемент в голове очереди
Console.WriteLine("Первый элемент peekFirst = " + peekFirst);
int? peekLast = deque.Last?.Value; // Элемент в хвосте очереди
Console.WriteLine("Последний элемент peekLast = " + peekLast);
/* Извлечение элемента из очереди */
deque.RemoveFirst(); // Извлечь элемент из головы очереди
Console.WriteLine("После извлечения элемента из головы deque = " + string.Join(",", deque));
deque.RemoveLast(); // Извлечь элемент из хвоста очереди
Console.WriteLine("После извлечения элемента из хвоста deque = " + string.Join(",", deque));
/* Получение длины двусторонней очереди */
int size = deque.Count;
Console.WriteLine("Длина двусторонней очереди size = " + size);
/* Проверка, пуста ли двусторонняя очередь */
bool isEmpty = deque.Count == 0;
Console.WriteLine("Пуста ли двусторонняя очередь = " + isEmpty);
}
}