본문 바로가기

자기참조구조체2

[자료구조 4장] - 연결리스트(4) 연결리스트(4) 원형 연결리스트 구조와 구현방법 단순 연결리스트의 마지막 노드 포인터 : NULL 이 마지막 노드 포인터를 첫 번째 노드(head node)의 주소를 가리키도록 할 때 이 리스트를 원형 연결리스트 라고 한다. 원형 연결리스트의 장점 : 어느 하나의 노드로부터 다른 모든 노드로 접근 가능, 검색 시 처음부터 찾지 않고 현재 노드부터 검색 가능, 리스트 결합도 효율적 주의 : 검색을 끝낼 수 있는 노드가 있어야 한다. 없으면 무한루프에 걸릴 수 있다. 학생번호와 학점을 노드에 저장한 자기참조구조체 struct cnode를 다음과 같이 정의하고 이를 기본으로 원형 연결리스트의 구조와 구현방법에 대하여 알아보자. typedef struct cnode *npointer; struct cnode {.. 2024. 2. 18.
[자료구조 4장] - 연결리스트(1) 연결리스트(1) 포인터와 연결리스트 순차리스트와 연결리스트 배열로 구현된 순차리스트 구조는 연속적인 순서를 유지해야 하기 때문에 다음과 같은 단점이 있다. 1. 리스트 중간에 자료를 삽입, 삭제하기 어렵다. 2. 리스트의 크기나 모양을 바꾸고자 하는 경우 문제가 발생한다. 3. 프로그램 수행 도중 리스트의 크기가 가변적이라면 최대 크기를 산정하여 처음부터 미리 이를 준비해 두어야 하므로 기억장소를 낭비하게 된다. 이와 같은 단점을 보완하기 위한 방법으로 자료와 그다음 자료의 위치를 하나의 단위로 저장하여 연결고리 형태로 리스트를 구성하는 연결리스트 구조가 제안되었다. 배열과 같은 리스트의 구조는 데이터 크기가 컴파일 시간에 정해진다. 연결리스트는 삽입과 삭제가 자주 일어나고 크기가 가변적인 경우 편리한 .. 2024. 1. 20.