나무 숲
연결 리스트 (Linked List) - 이중 연결 리스트, 이중 원형 연결 리스트 본문
이중 연결 리스트입니다.
일반 연결 리스트와 다르게 한 노드를 기준으로 그 전 노드를 가리키는 before, 그 다음 노드를 가리키는 next 포인터가 존재합니다.
첫 번째 데이터가 tail에 삽입된 모습입니다.
노드가 하나뿐이라 head=tail=뉴노드 입니다.
뉴노드를 삽입하는 모습입니다.
뉴노드의 next은 (헌)노드,
(헌)노드의 before는 뉴노드 입니다.
이후 뉴노드는 tail이 됩니다.
head는 그대로인 모습입니다.
노드를 삭제하는 모습입니다.
더미노드를 만들어 삭제할 부분인 tail를 가리키게 합니다.
tail는 tail->before을 가리킵니다.
삭제될 노드를 가리키는 tail->next는 NULL이 됩니다
더미노드의 메모리를 해제합니다.
코드입니다.
포스팅하려고 스스로 몇 번 해본 것이 이해에 도움이 되는 것 같습니다. ..
0 구조체 정의와 초기화
1 tail에 데이터 삽입
2 tail의 데이터 삭제
3 데이터 조회
4 테스트용 메인 함수와 결과값
이중 연결 리스트에서 head와 tail을 이어준 모습이 이중 원형 연결 리스트입니다.
코드입니다.
0 구조체 정의와 초기화
1 tail에 데이터 삽입
2 tail의 데이터 삭제
3 데이터 조회
4 테스트용 메인 함수와 결과값
원형 확인을 위해 데이터를 앞뒤로 3회 출력한 모습입니다
--------------------------------------------------------------------------------------------------------------------------
부족한 부분이 있으면 고쳐주시면 감사드리겠습니다
'Career > 알고리즘 · 자료구조' 카테고리의 다른 글
큐 (Queue) (0) | 2016.08.22 |
---|---|
스택 (Stack) (0) | 2016.08.18 |
연결 리스트 (Linked List) - 원형 연결 리스트 (0) | 2016.08.15 |
연결 리스트 (Linked List) - 메모리의 동적 할당 (0) | 2016.08.11 |
연결 리스트 (Linked List) - 배열 (0) | 2016.07.15 |