덱
덱은 double-ended queue 의 줄임말, deque
전단, 후단 모두에서 삽입 삭제가 가능하다.
따라서 첫번째 노드와 마지막 노드를 가리키는 포인터 두개가 필요하다, head, tail.
덱은 보통 이중 연결리스트로 구현된다. 왜냐하면 양쪽 삽입, 삭제를 위해서 양쪽으로 링크를 가지고 있어야함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | typedef int element; typedef struct DlistNode{ element data; struct DlistNode * llink; struct DlistNode * Rlink; }DlistNode; typedef struct DequeType { DlistNode *head; DlistNode *tail; } } // 이러한 형태의 덱을 구성한다. // 삽입 연산은 DlistNode * create_Node(DlistNode * llink, element item, DlistNode * rlink) { // 이 함수를 통해 노드를 생성 할 때 초기화 한다. } // add rear시에는 DistNode * new_node= create_Node( dq->tail, item, NULL); // add front시에는 DistNode * new_node= create_Node( NULL,item, dp->head); // 를 통해 연결해 주면 다. | cs |
'OLD개발이야기 > IT 공부 ' 카테고리의 다른 글
VDI란 (Virtual Desktop Infrastructure 가상 데스크톱 인프라) (0) | 2021.03.30 |
---|---|
[취준] IT 취업준비 DB 관련 자주 나오는 질문 (0) | 2020.12.19 |
비트 제어 (0) | 2018.05.15 |
VPN (Virtual Private Network) 가상사설망 (0) | 2018.05.15 |
자료구조 정리) 큐 (0) | 2018.05.06 |