프로그래밍/C언어

단일 연결리스트(linked list)

리뷰하는 (게임)프로그래머_리프TV 2010. 3. 12. 11:25


스택, 큐에 대해서 무한의 자료를 저장하고 싶을때(메모리의 허용 범위 내)사용한다.

개념은 A,B,C,D라는 자료가 존재 할때에

Head(orTail)이 A의 주소를,

A가 B의 주소를

B가 C의 주소를

C가 D의 주소를

D가 Tail(orHead)의 주소를 가르킨다고 볼 수 있다.

추가적인 AA가 생겼을때

특정-예를 들어 A뒤- 위치에 삽입 하고자 할떄

A의 주소가 B였던 것을 AA로 가르키게 하고

AA의 주소는 B를 가르키게 한다면

Head->A->AA->B->C->D->Tail

이 되는 것이다.

또는 값을 삭제 하고자 할때에는

삭제 노드는 꼬리의 다음 위치로 잡아 주고

꼬리의 다음 위치를 삭제 노드의 다음 주소

삭제노드 삭제

소스 내용이 조금 긴 관계로 main.cpp파일을 첨부합니다.