기본 구현 레디 스리스트의 하나 - 목록

리스트는 연결리스트 데이터 구조로 사용됩니다 어떤 상황에서 다음, "한"의 제목을 참고?

대답은 - 목록 핵심 요소의 수를 포함, 또는 요소는 긴 문자열 목록에 포함되어 있습니다.

좋아, 우리는 더 익숙한 때문에 목록을 직접 연결 구현할 목록 및 노드의 목록을 주어 다음 단계입니다.

목록 노드 :

// 이것은 정의 된 목록을 볼 수 있습니다 형식 정의 구조체 listNode는 {이중 연결리스트입니다

  구조체 listNode * 이전에;

  구조체 listNode * 다음; 

  보이드 * 값;

listNode};

목록 :

타입 정의 구조체 목록 {

  listNode * 머리 * 꼬리;

  서명되지 않은 긴 렌;

  보이드 * (* DUP) (공극의 * PTR); // 복사 기능 노드 값

  공극 (자유로운 *) (* 공극의 PTR)의 분리 기능 // 노드 값

  보이드 (매치 *) (* 공극의 PTR, 키 무효 *); // 노드 값 비교 함수

}명부;

우선, 제 listNode 목록 및 크기를 설명했다. 를 sizeof (listNode) = 12를 sizeof (목록) = 24. 세 함수 포인터 목록이있다 기억하십시오. 시험에 아래 대 :

 

 

 

정보지도 listT에만 멤버 함수 목록과 함수 포인터, 아주 분명하다.

 

 

 즉, 계획에 목록 구조입니다.

마지막으로, 더 말을 왜 값은 * 무효로 정의 할 listNode?

이 DUP 자유, 검색 기능의리스트가 특정 노드 값 함수의 종류에 따라 설정 될 수 있도록, 다중 상태를 형성 할 값의 종류의 다양한 저장할 수 있기 때문에 값 *을 무효로 설정된다.

추천

출처www.cnblogs.com/qing2019/p/11627678.html