linked list 예제

이 섹션에는 연결된 목록의 요소에 대한 작업을 수행하는 C 프로그램이 포함되어 있습니다. 이러한 작업에는 연결된 목록 2개의 해당 요소를 추가하고, 연결된 두 목록이 동일한지 테스트하고, 지정된 Singly 링크된 목록이 palindrome인지 테스트하여 연결된 목록의 모든 요소의 발생 횟수를 찾는 작업이 포함됩니다. 또한 이 섹션에서는 연결된 목록 모두에 공통적인 요소를 찾고 이중 링크 목록에서 가장 큰 요소를 찾는 것도 포함됩니다. 목록의 각 노드를 요소라고도 합니다. 다음 노드를 가리키는 포인터가 포함된 참조 필드를 다음 포인터 또는 다음 링크라고 합니다. 링크된 목록은 목록의 첫 번째 항목을 가리키는 로컬 포인터 변수를 사용하여 유지됩니다. 해당 포인터도 NULL이면 목록이 비어 있는 것으로 간주됩니다. 이렇게 하면 새 값이 있는 목록에 새 헤드가 효과적으로 생성되고 나머지 목록이 목록에 연결됩니다. 이 섹션의 C 프로그램은 교환 작업을 수행합니다. 키 필드를 터치하지 않고 원형 링크리스트의 두 인접 노드를 교환합니다. 섹션의 다른 프로그램은 수정 작업을 수행합니다.

지정된 연결된 목록의 홀수 앞에 모든 짝수가 표시되도록 지정된 연결된 목록을 수정합니다. 이 섹션에는 연결된 목록을 사용하여 Josephus 문제와 같은 수학적 문제를 해결하는 몇 가지 특별한 프로그램과 무한 정밀 산술을 수행하는 프로그램이 있습니다. 10) 개체 get (int 인덱스): 목록에서 지정된 인덱스의 항목을 반환 합니다. 연결된 목록은 요소가 연속 메모리 위치에 저장되지 않는 선형 데이터 구조입니다. 링크 된 목록의 요소는 아래 이미지와 같이 포인터를 사용하여 연결됩니다 : 첫 번째 노드가 `item1`보다 더 많은 것을 보유할 수 있도록 변경 사항을 알고 있습니까? 예를 들어, 내가 item1,itstype,그것의 비용을 노드 1에서 모두 잡고 그 노드를 노드 2에 연결하려는 경우 item2,itstype,itscost, 어떻게 그 일을 할 것인가? 연결된 목록은 이러한 많은 노드가 함께 연결되어 체인을 형성할 때 형성됩니다. 각 노드는 순서대로 존재하는 다음 노드를 가리킵니다. 첫 번째 노드는 항상 목록을 통과하는 참조로 사용되며 HEAD라고 합니다. 마지막 노드는 NULL을 가리킵니다. 연결된 목록은 구현을 위해 포인터를 사용하는 동적 데이터 구조의 가장 좋은 간단한 예입니다.

그러나 포인터를 이해하는 것은 연결된 목록이 작동하는 방식을 이해하는 데 중요하므로 포인터 자습서를 건너 뛴 경우 돌아가서 다시 수행해야합니다.