mirror of
https://github.com/krahets/hello-algo.git
synced 2026-11-02 03:05:24 +08:00
* feat(ko): add the complete Korean online edition * Use UTF-8 for Python CI output on Windows * Remove print-book promotion from the Korean site * fix(ko): preserve emphasis before Korean particles
45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
/**
|
|
* File: deque.cs
|
|
* Created Time: 2022-12-30
|
|
* Author: moonache ([email protected])
|
|
*/
|
|
|
|
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);
|
|
}
|
|
}
|