0094098
Visit Today : 96
This Month : 4902
Your IP Address: 34.234.223.229

c++ 링크드 리스트 예제

따라서 첫 번째 노드에 액세스 하면 링크 된 목록의 모든 노드에 액세스할 수 있습니다. 예를 들어`a`가 노드인 경우 a->next는 `a` 옆의 노드입니다(다음 노드의 주소를 저장하는 포인터는 `next`로 지정됩니다). 나는 또한 링크 된 목록에 하나의 노드 (우리가 만들 려고하는)가 있다면 머리와 꼬리라고합니다. 연결된 목록의 요소를 노드라고 합니다. 노드에는 데이터와 다음 필드가 두 개 있습니다. 데이터 필드에는 해당 특정 노드에 저장되는 데이터가 포함됩니다. 단일 변수일 수는 없습니다. 노드의 데이터 섹션을 표시하는 변수가 많을 수 있습니다. 다음 필드에는 다음 노드의 주소가 포함됩니다. 따라서 노드 간의 링크가 설정된 위치입니다.

C ++에서 연결된 목록의 구현은 포인터를 사용하여 수행됩니다. 당신은 당신이 그것을 통해 강한 그립이없는 경우 포인터 장을 통해 갈 수 있습니다. 연습 섹션에서 많은 질문을 연습할 수도 있습니다. 이전 프로그램에서 링크 된 목록 통과, 우리는 세 개의 노드와 간단한 링크 된 목록을 만들었습니다. 생성된 목록을 탐색하고 각 노드의 데이터를 인쇄해 보겠습니다. 통과의 경우 지정된 목록을 인쇄하는 범용 함수 printList()를 작성해 보겠습니다. 이 스택은 연결된 목록을 데이터 구조로 사용하고 있습니다. 링크된 목록의 노드를 표시하기 위한 코드는 다음과 같습니다: 배열과 마찬가지로 링크된 목록은 선형 데이터 구조입니다.

배열과 달리 연결된 목록 요소는 연속된 위치에 저장되지 않습니다. 요소는 포인터를 사용하여 연결됩니다. 연결된 목록이 이미 만들어지면 연결된 목록의 끝에 이 노드를 삽입합니다. 마지막 노드를 꼬리라고 합니다. 그래서 우리는 꼬리 노드 옆에이 새로 만든 노드를 만들 려고 합니다. 노드를 만든 다음 부분은 노드를 조인하고 연결된 목록을 만드는 것입니다. 먼저 `머리`가 NULL인지 여부를 확인합니다. `head`가 NULL이면 아직 연결된 목록이 없으며 현재 노드(tmp)가 `head`가 된다는 의미입니다. 이제 노드 생성을 위한 함수를 작성합니다. 노드를 만드는 과정은 매우 간단합니다. 우리는 노드 유형 (우리가 정의)의 포인터가 필요하고 우리는 데이터 필드에 값을 삽입합니다.

노드의 다음 필드는 연결된 목록의 마지막 노드와 마찬가지로 NULL로 선언됩니다. 따라서 연결된 목록 만들기에 익숙해졌습니다. 이제 만든 링크된 목록에서 일부 조작을 수행할 차례입니다. 연결된 목록은 노드를 삭제하는 훌륭한 기능을 제공합니다. 삭제 프로세스도 쉽게 구현할 수 있습니다. 기본 구조는 삭제할 노드를 가리키는 임시 포인터를 선언하는 것입니다. 그런 다음 노드의 링크에 대한 작업의 조금. 노드를 삭제할 수 있는 세 가지 경우도 있습니다. singly 연결 목록, 이중 연결 목록. singly 연결 된 목록에서 모든 요소에는 일부 데이터와 다음 요소에 대 한 링크가 포함 됩니다.

반면에 이중 으로 연결된 목록의 모든 노드에는 일부 데이터, 다음 노드에 대한 링크 및 이전 노드에 대한 링크가 포함됩니다.