이 섹션의 C 프로그램은 연결된 목록을 사용하여 정렬 된 이진 트리, 균형 잡힌 이진 검색 트리와 같은 다른 데이터 구조의 구현을 다룹니다. 또한 연결된 목록의 한 형태를 다른 형식으로 변환하는 프로그램도 있습니다. 균형 잡힌 이진 트리는 모든 잎이 다른 잎보다 루트에서 “특정 거리 보다 더 멀리”있는 트리입니다. 다음 프로그램은 정렬 된 바이너리 트리를 원형 이중 링크 목록으로 변환하고, 주어진 이중 링크 목록과 동일한 데이터 멤버가있는 균형 잡힌 바이너리 검색 트리를 구성하고, 이진 트리를 싱그리링크 리스트로 변환하고, 싱어블 링크 된 목록을 변환합니다. 순환 목록에 연결된 목록입니다. 링크 된 목록에 대 한 가장 좋은 사용 사례는 스택 및 큐, 우리가 지금 구현 할 것 이다: 나는 링크 드 리스트 요소의 순차적 인 액세스를 허용 하는 말을 수정 하는 것 같아요. 예제에서는 인덱스별로 개체를 얻을 수 있습니다. 개체 firstvar2 = linkedlist.get(0); 구조체 LinkedListto의 데이터 형식을 정의하여 코드를 더 깨끗하게 만듭니다. 링크 된 목록은 시작 참조로 헤드 노드를 사용 하 여 while 루프에서 트래버스 수 있습니다.: 3) 부울 addAll (컬렉션 c): 그것은 목록에 지정 된 컬렉션 c의 모든 요소를 추가 합니다. 지정된 컬렉션이 null인 경우 NullPointerException을 throw합니다. 아래 예제를 고려 – 우리는 우리가 위의 섹션에서 개발 한 링크 된 목록 기능을 테스트 하는 프로그램을 작성할 수 있습니다.

연결된 목록의 앞에서 노드를 삭제하는 것은 비교적 간단합니다. 머리를 다음 노드로 가리키고 머리가 가리키는 노드를 제거합니다. 이 작업을 계속 할 수 있지만 실제로 해야 할 일은 다음 변수가 NULL이 될 때까지 목록의 마지막 항목으로 진행하는 것입니다. 자바.util.LinkedList 클래스에 대한 선언을 보자. 목록에서 마지막 항목을 제거하는 것은 목록의 끝에 추가하는 것과 매우 유사하지만 한 가지 큰 예외가 있습니다 – 마지막 항목 전에 한 항목을 변경해야하기 때문에 실제로 두 항목을 미리 보고 다음 항목이 마지막 항목인지 확인해야합니다. 목록: 연결된 목록 중간에 있는 노드를 삭제하려면 노드가 첫 번째 노드인 경우 remove_front() 함수를 호출하여 노드를 제거합니다. 노드가 마지막 노드인 경우 remove_back() 함수를 호출하여 제거합니다. 노드가 목록 중간에 있는 경우: 연결된 목록의 요소 수를 계산하기 위해 동일한 트래버스 기술을 사용할 수 있습니다. 다음 count() 함수 를 참조하십시오: 2. 연결된 목록 요소는 목록의 다음 노드의 주소를 포함하는 노드의 참조 부분을 사용하여 서로 연결되므로 연속 메모리 위치가 필요하지 않습니다.

간단하게, 링크된 목록은 각 노드에 데이터 필드와 목록의 다음 노드에 대한 참조(link)가 포함된 노드로 구성됩니다. 삽입 정렬 알고리즘을 사용하여 연결된 목록을 정렬할 수 있습니다. 다음은 연결된 목록을 정렬하는 insertion_sort() 함수입니다: 여기 LinkedList 메서드에 대한 간략한 설명을 언급했습니다. 다음 링크를 통해 C 링크된 목록 프로그램을 다운로드할 수 있습니다: C 링크된 목록 (3603 다운로드) 이 자습서에서는 C 링크된 목록과 프레펜드, 추가, 다각, 통과, 개수, 삽입, 제거, 정렬 및 폐기할 수 있습니다.