본문 바로가기

Job Notes/Embedded System & RTOS

Double Linked-list (이중 연결 리스트)

* 이중 연결 리스트
   • list_head라는 자료 구조를 이용하여 구현
   • list_head는 전체 자료 구조가 아닌 list_head 필드의 주소를 저장

사용자 삽입 이미지

Double Linked-llist



   • 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_for_each(p,h) : 첫번째 요소의 주소 h로 지정한 리스트에 있는 요소를 차례로 검색