Files
Yudong Jin 2778a6f9c7 Translate all code to English (#1836)
* Review the EN heading format.

* Fix pythontutor headings.

* Fix pythontutor headings.

* bug fixes

* Fix headings in **/summary.md

* Revisit the CN-to-EN translation for Python code using Claude-4.5

* Revisit the CN-to-EN translation for Java code using Claude-4.5

* Revisit the CN-to-EN translation for Cpp code using Claude-4.5.

* Fix the dictionary.

* Fix cpp code translation for the multipart strings.

* Translate Go code to English.

* Update workflows to test EN code.

* Add EN translation for C.

* Add EN translation for CSharp.

* Add EN translation for Swift.

* Trigger the CI check.

* Revert.

* Update en/hash_map.md

* Add the EN version of Dart code.

* Add the EN version of Kotlin code.

* Add missing code files.

* Add the EN version of JavaScript code.

* Add the EN version of TypeScript code.

* Fix the workflows.

* Add the EN version of Ruby code.

* Add the EN version of Rust code.

* Update the CI check for the English version  code.

* Update Python CI check.

* Fix cmakelists for en/C code.

* Fix Ruby comments
2025-12-31 07:44:52 +08:00

45 lines
1.6 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() {
/* Get the length of the double-ended queue */
// In C#, use LinkedList as deque
LinkedList<int> deque = new();
/* Elements enqueue */
deque.AddLast(2); // Add to the rear of the queue
deque.AddLast(5);
deque.AddLast(4);
deque.AddFirst(3); // Add to the front of the queue
deque.AddFirst(1);
Console.WriteLine("Double-ended queue deque = " + string.Join(",", deque));
/* Update element */
int? peekFirst = deque.First?.Value; // Rear of the queue element
Console.WriteLine("Front element peekFirst = " + peekFirst);
int? peekLast = deque.Last?.Value; // Front of the queue element dequeues
Console.WriteLine("Rear element peekLast = " + peekLast);
/* Element dequeue */
deque.RemoveFirst(); // Check if the double-ended queue is empty
Console.WriteLine("After front element dequeues, deque = " + string.Join(",", deque));
deque.RemoveLast(); // Rear element dequeue
Console.WriteLine("After rear element dequeues, deque = " + string.Join(",", deque));
/* Get the length of the double-ended queue */
int size = deque.Count;
Console.WriteLine("Double-ended queue length size = " + size);
/* Check if the double-ended queue is empty */
bool isEmpty = deque.Count == 0;
Console.WriteLine("Double-ended queue is empty = " + isEmpty);
}
}