본문 바로가기

연결 리스트

(2)
연결 리스트 (Linked list) 연결 리스트 17.1 내장된 참조(Embedded references) 우리는 다른 객체를 참조하는 속성들의 예를 본 바 있습니다. 이것을 내장된 참조(embedded references)라고 부릅니다 (Section 12.8 참조). 일반적인 데이타 구조인 연결 리스트(linked list)가 이 특징을 이용합니다. 연결 리스트는 노드(nodes)로 구성되는데, 각 노드는 리스트에서 다음 노드에 대한 참조점을 포함합니다. 게다가, 각 노드는 카르고(cargo)라고 부르는 한 단위의 데이타를 포함합니다. 연결 리스트는 재귀적인 정의를 가지기 때문에 재귀 데이타 구조(recursive data structure)로 간주됩니다. 연결 리스트는 다음과 같이: None으로 표현되는, 비어있는 리스트이거나, 카르..
Double Linked-list (이중 연결 리스트) * 이중 연결 리스트 • list_head라는 자료 구조를 이용하여 구현 • list_head는 전체 자료 구조가 아닌 list_head 필드의 주소를 저장 • LIST_HEAD(list_name) : 리스트를 새로 만듬 • list_add(n,p) : p가 가리키는 요소 다음에 n을 가리키는 요소 삽입 • list_add_tail(n,h) : 첫번째 요소의 주소인 h로 지정한 리스트의 맨 끝에 n이 가리키는 요소 삽입 • list_del(p) : p가 가리키는 요소 삭제 • list_empty(p) : 첫번째 요소의 주소로 지정한 리스트가 비어 있는지 검사 • list_entry(p, t, f) : 이름이 f고 주소가 p인 list_head 필드를 포함한 t타입 자료 구조의 주소 반환 • list_fo..