c언어 링크드 리스트 예제

연결된 목록은 요소 컬렉션을 저장하는 방법입니다. 배열과 마찬가지로 문자 또는 정수일 수 있습니다. 연결된 목록의 각 요소는 노드 형태로 저장됩니다. 새 ID 1005를 삽입하려면 정렬된 순서를 유지하려면 1000(1000 제외)이 지난 후 모든 요소를 이동해야 합니다. 특별한 기술을 사용하지 않는 한 배열을 삭제하는 데 비용이 많이 듭니다. 예를 들어 id[]에서 1010을 삭제하려면 1010 이후의 모든 항목을 이동해야 합니다. 링크 된 목록은 시작 참조로 헤드 노드를 사용 하 여 while 루프에서 트래버스 수 있습니다.: 여기 -> 노드p의 다음 하위 요소에 액세스 하는 데 사용 됩니다.null 현재 노드 후 아무 노드를 나타냅니다., 즉 목록의 끝. 위의 정의는 목록의 모든 노드를 만드는 데 사용됩니다. 데이터 필드는 요소를 저장하고 다음 은 다음 노드의 주소를 저장하는 포인터입니다. 이제 노드를 사용할 수 있습니다.

목록의 첫 번째 항목(head라고 함)을 가리키는 로컬 변수를 만들어 보겠습니다. C 언어에서는 구조체 및 포인터를 사용하여 연결된 목록을 구현할 수 있습니다. 머리에 대한 이중 포인터를 수신하고 값 val이 있는 목록의 첫 번째 항목을 제거하는 함수 remove_by_value를 구현해야 합니다. 링크된 목록은 목록의 첫 번째 항목을 가리키는 로컬 포인터 변수를 사용하여 유지됩니다. 해당 포인터도 NULL이면 목록이 비어 있는 것으로 간주됩니다. 연결된 목록은 이러한 많은 노드가 함께 연결되어 체인을 형성할 때 형성됩니다. 각 노드는 순서대로 존재하는 다음 노드를 가리킵니다. 첫 번째 노드는 항상 목록을 통과하는 참조로 사용되며 HEAD라고 합니다. 마지막 노드는 NULL을 가리킵니다.

간단하게, 링크된 목록은 각 노드에 데이터 필드와 목록의 다음 노드에 대한 참조(link)가 포함된 노드로 구성됩니다. 목록의 끝에 변수를 추가하려면 다음 포인터로 계속 진행할 수 있습니다. 간단한 링크된 목록은 머리에서 마지막 노드까지 한 방향으로만 트래버스할 수 있습니다. 이 작업을 계속 할 수 있지만 실제로 해야 할 일은 다음 변수가 NULL이 될 때까지 목록의 마지막 항목으로 진행하는 것입니다. 연결된 목록은 각 노드에 하나의 값과 하나의 포인터가 포함된 방식으로 정렬된 동적으로 할당된 노드 집합입니다. 포인터는 항상 목록의 다음 멤버를 가리킵니다. 포인터가 NULL이면 목록의 마지막 노드입니다. 그러나 연결된 목록에는 몇 가지 단점이 있습니다. 링크된 목록의 요소는 아래 이미지와 같이 포인터를 사용하여 연결됩니다: C 토큰, 식별자 및 키워드는 C 프로그램의 기본 사항입니다. 모두 정의와 간단한 예제 프로그램과 함께이 페이지에 설명되어 있습니다. C 토큰은 C 프로그램을 작성하기 위해 함께 구성된 C 언어의 기본 구성 요소입니다.

C 프로그램의 각 프로그램 요소에는 식별자라는 이름이 부여됩니다. C의 첫 번째 간단한 링크 된 목록 우리가 3 노드와 간단한 링크 된 목록을 만들 수 있습니다. 이렇게 하면 새 값이 있는 목록에 새 헤드가 효과적으로 생성되고 나머지 목록이 목록에 연결됩니다. 표현: 연결된 목록은 연결된 목록의 첫 번째 노드에 대한 포인터로 표시됩니다. 첫 번째 노드를 헤드라고 합니다. 연결된 목록이 비어 있으면 머리 값이 NULL입니다. 목록의 각 노드는 적어도 두 부분으로 구성됩니다: 1) 데이터 2) 다음 노드에 대한 포인터(또는 참조) C에서, 우리는 구조를 사용하여 노드를 나타낼 수 있습니다. 다음은 정수 데이터가 있는 연결된 목록 노드의 예입니다.

Java 또는 C#에서 LinkedList는 클래스와 노드를 별도의 클래스로 나타낼 수 있습니다. LinkedList 클래스에는 노드 클래스 형식에 대한 참조가 포함되어 있습니다. getenv(), setenv(), putenv() 및 기타 함수 perror(), 랜덤() 및 delay()와 같은 C 환경 함수에 대한 설명 및 예제 프로그램은 더 많은 것입니다. 목록의 모든 항목을 인쇄하는 함수를 빌드해 보겠습니다.

Posted in Uncategorized.