c 언어 linked list 예제

다음은 제네릭 링크 된 목록의 작업을 보여 주는 샘플 C 코드입니다. 여기서 -> 노드 p. NULL은 현재 노드 다음에 노드가 없음을 나타내며, 즉 목록의 끝입니다. 연결된 목록은 스택 및 큐와 같은 다른 데이터 구조를 구현하는 데도 사용됩니다. 우리는 우리가 위의 섹션에서 개발 한 링크 된 목록 함수를 테스트 하는 프로그램을 작성할 수 있습니다. 링크된 목록은 목록의 첫 번째 항목을 가리키는 로컬 포인터 변수를 사용하여 유지됩니다. 해당 포인터도 NULL이면 목록이 비어 있는 것으로 간주됩니다. 연결된 목록 데이터 구조는 목록의 모든 위치에서 요소를 삽입하거나 제거하는 데 효율적입니다. 그러나 마지막 요소를 얻거나 특정 데이터를 저장하는 요소를 찾는 것과 같은 다른 작업은 목록의 대부분 또는 모든 요소를 검색해야 합니다. 목록의 각 노드를 요소라고도 합니다. 다음 노드를 가리키는 포인터가 포함된 참조 필드를 다음 포인터 또는 다음 링크라고 합니다.

위의 정의는 목록의 모든 노드를 만드는 데 사용됩니다. 데이터 필드는 요소를 저장하고 다음 은 다음 노드의 주소를 저장하는 포인터입니다. 연결된 목록의 앞에서 노드를 삭제하는 것은 비교적 간단합니다. 머리를 다음 노드로 가리키고 머리가 가리키는 노드를 제거합니다. 다음 링크를 통해 C 링크된 목록 프로그램을 다운로드할 수 있습니다: C 링크된 목록 (3603 다운로드) 이 자습서에서는 C 링크된 목록과 프레펜드, 추가, 다각, 통과, 개수, 삽입, 제거, 정렬 및 폐기할 수 있습니다. 이제 노드를 사용할 수 있습니다. 목록의 첫 번째 항목(head라고 함)을 가리키는 로컬 변수를 만들어 보겠습니다. 목록의 모든 항목을 인쇄하는 함수를 빌드해 보겠습니다.

이렇게하려면 현재 인쇄 중인 노드를 추적하는 현재 포인터를 사용해야 합니다. 노드 값을 인쇄한 후 현재 포인터를 다음 노드로 설정하고 목록의 끝에 도달할 때까지 다시 인쇄합니다(다음 노드는 NULL). 연결된 목록은 노드 시퀀스로 구성된 데이터 구조입니다. 각 노드는 시퀀스의 다음 노드를 가리키는 포인터인 데이터 필드와 참조 필드의 두 필드로 구성됩니다. C 언어에서는 구조체 및 포인터를 사용하여 연결된 목록을 구현할 수 있습니다. 이 섹션에는 인쇄, 역방향 및 읽기 작업을 수행하는 C 프로그램이 포함되어 있습니다.