Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 연결 리스트의 개념을 설명하십시오.

<시간/>

연결 목록을 이해하기 전에 C 프로그래밍 언어에서 배열의 단점과 포인터의 장점에 대해 알아보겠습니다.

배열의 단점

  • 여기에는 정적 메모리 할당이 포함됩니다.

  • 배열에서 메모리 낭비가 발생할 수 있습니다.

  • 메모리 부족은 배열의 중요한 단점 중 하나입니다.

포인터의 장점

  • 동적 메모리 할당이 포함됩니다.
  • 메모리의 효과적인 사용은 포인터에서 경험할 수 있습니다.

연결된 목록

연결 목록은 동적 메모리 할당을 사용합니다. 즉, 그에 따라 확장 및 축소됩니다. 노드 모음으로 정의됩니다. 여기서 노드는 데이터와 링크의 두 부분으로 구성됩니다. 데이터, 링크 및 연결 목록의 표현은 다음과 같습니다. -

C 언어에서 연결 리스트의 개념을 설명하십시오.

연결 목록의 유형

연결 목록에는 다음과 같은 네 가지 유형이 있습니다. -

  • 단일/단일 연결 목록
  • 이중/이중 연결 목록
  • 순환 단일 연결 목록
  • 원형 이중 연결 목록

단일 연결 리스트

아래에 주어진 표현을 참조하십시오 -

C 언어에서 연결 리스트의 개념을 설명하십시오.

노드는 다음과 같은 두 부분으로 구성됩니다. -

  • 데이터
  • 링크

링크 필드는 항상 목록의 다음 노드를 가리킵니다.

마지막 노드의 링크 필드가 null입니다.

이중 연결 리스트

아래에 주어진 표현을 참조하십시오 -

C 언어에서 연결 리스트의 개념을 설명하십시오.

노드는 세 부분으로 구성됩니다. 즉

  • 데이터 부분
  • 왼쪽 링크
  • 오른쪽 링크

왼쪽 링크는 항상 목록의 왼쪽 노드를 가리키고 오른쪽 링크는 항상 목록의 오른쪽 노드를 가리킵니다.

첫 번째 노드의 왼쪽 링크와 마지막 노드의 오른쪽 링크는 Null이어야 합니다.

순환 단일 연결 리스트

아래에 주어진 표현을 참조하십시오 -

C 언어에서 연결 리스트의 개념을 설명하십시오.

노드는 두 부분으로 구성됩니다. 즉,

  • 데이터 부분
  • 링크 부분

링크 필드는 항상 목록의 다음 노드를 가리킵니다.

마지막 노드의 링크 부분은 항상 첫 번째 노드를 가리킵니다.

원형 이중 연결 리스트

아래에 주어진 표현을 참조하십시오 -

C 언어에서 연결 리스트의 개념을 설명하십시오.

노드는 세 부분으로 구성됩니다. 즉,

  • 데이터 부분
  • 왼쪽 링크
  • 오른쪽 링크

왼쪽 링크는 항상 목록의 왼쪽 노드를 가리키고 오른쪽 링크는 목록의 오른쪽 노드를 가리킵니다.

첫 번째 노드의 왼쪽 링크는 마지막 노드를 가리키고 마지막 노드의 오른쪽 링크는 첫 번째 노드를 가리킵니다.