chpater 05. 연결 리스트(Linked List) 3
#05-1. 원형 리스트3 1
핵심, 특정적인 것만을 일단 확인 및 체크 그리고 완벽한 이해 하게 되면 잘 이해할 수 있다.
하드웨어
시스템 소프트웨어
운영체제
자료구조는 응용 어플리케이션 개발할 때 가져다 쓴다.
그리고 시스템 소프트웨어, 하드웨어.. 등등 사용된다.
디바이스 드라이버, 폼웨어 등에 사용된다.
OS, 시스템소프트웨어, 하드웨어 등
응용 어플리케이션 개발을 할 때 순차적으로 하다가 다시 되
돌아 가려고 할 때 필요하다.
#05-1. 원형 리스트3 2
메모리를 순환적 형태로 활용할 수 있다.
1 > 2 > 4 > 6 > 8 > 1
머리와 꼬리의 구분이 없다.
메모리의 연계 형태에 있다.
같다 두 경우의 노드 연결 순서가 같다
다르다 HEAD가 가리키는 노드가 다르다.
새 노드를 머리에 저장을 할 것이냐? 꼬리에 저장을 할 것이냐?
HEAD>TAIL 두 개의 포인터 변수가 필요하다.
변경된 원형 연결 리스트
꼬리의 주솟값을 얻어야 하고 머리의 주솟값을 알아야 한다. 머리 = 꼬리 -> next
꼬리를 가리키는 포인터 변수는? tail 입니다!
머리를 가리키는 포인터 변수는? tail -> next입니다!
#05-1. 원형 리스트3 3
변형된 원형 연결 리스트의 구현범위
#05-1. 원형 리스트3 4
IT 강의 중에서 코드 설명하는 강의가 가장 재미없다.
LInsert 꼬리
LInsertFront 머리
이 두가지가 중요하다!!
tail=new node
new node ->next=new node
머리에 추가를 하건 꼬리에 추가를 하건 할 수 있다.
곰곰히 생각하면서 적어보면서 만드는 습관을 해보아야 한다.
tail->next=new node
void LInsertFront
머리 꼬리
7 4 2
새 노드를 추가할 때
tail
4 2
7이라는 것 저장한 다음에 머리인지 꼬리인지 구별이 안간다. tail이 가르쳐 주어야 한다.
tail이 누구를 가르키느냐에 있다. 7이 꼬리가 되기 위해서 tail도 이것을 가르켜야 한다.
#05-1. 원형 리스트3 5
LFirst
before cur
before은 삭제 과정을 위해서 필요하다.
cur = tail->next
before = tail
05-2. 양방향 연결 리스트 1
양방향 연결 리스트의 이해
Before이 불필요해 졌다.
05-2. 양방향 연결 리스트 2