728x90
반응형

원형 리스트 2

[자료구조] 연결 리스트 4 (연결 스택과 큐, 다항식, 이중 연결 리스트)

연결 스택과 큐 연결 스택 top에서 노드 삽입, 삭제 용이 top: 스택의 톱 노드를 가리키는 전용 데이터 멤버 초기엔 top = 0 template void LinkedStack::Push(const T &e) { top = new ChainNode(e, top); } template void LinkedStack::Pop() { // 스택의 첫 번째 노드를 삭제 if (IsEmpty()) throw "Stack is empty. Cannot delete."; ChainNode *delNode = top; top = top->link; // top노드를 삭제 delete delNode; // 메모리 할당 해제 } 연결 큐 rear에서 노드 삽입 용이 front에서 노드 삽입, 삭제 용이 rear: 큐..

전공/자료구조 2023.05.12

[자료구조] 연결 리스트 3 (원형 리스트, 가용 공간 리스트)

원형리스트 원형 리스트(circular list) - 체인에서 마지막 노드의 link 필드가 첫 번째 노드를 가리킴 - 포인터 current가 마지막 노드를 가리키는지 검사할 때, current->link == 0이 아니라 current->link == first로 검사 - 삽입, 삭제 함수에서 마지막 노드의 link 필드가 첫 번째 노드를 가리키는지 연산이 끝난 후 확인 원형 리스트 예시 ↙ ← ← ← ← ← ← ← ← ↖ first → [data | link] → [data | link] → [data | link] 리스트 앞에 새 노드 삽입 - 마지막 노드의 link를 변경해야 하므로 접근 포인터가 마지막 노드를 가리키는 편이 편리 template void CircularList::InsertFro..

전공/자료구조 2023.05.12
728x90
반응형