Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

데이터 구조의 일반화된 목록


이 섹션에서는 일반화된 목록을 볼 수 있습니다. 일반화된 목록은 다음과 같이 정의할 수 있습니다. -

일반화된 목록 L은 n개 요소(n ≥ 0)의 유한 시퀀스입니다. 요소 ei는 원자(단일 요소)이거나 다른 일반화된 목록입니다. 원자가 아닌 요소 ei는 L의 하위 목록이 됩니다. L이 ((A, B, C), ((D, E), F), G)라고 가정합니다. 여기서 L에는 세 개의 요소 하위 목록(A, B, C), 하위 목록((D, E), F) 및 원자 G가 있습니다. 다시 하위 목록((D, E), F)에는 두 개의 요소가 있습니다. 하위 목록(D, E) 및 원자 F.

C++에서는 아래와 같이 일반화된 목록 구조를 정의할 수 있습니다. -

class GeneralizedListNode{
   private:
      GeneralizedListNode *next;
      bool tag;
      union{
         char data;
         GeneralizedListNode *down;
      };
};

따라서 태그가 true이면 노드가 나타내는 요소는 하위 목록입니다. 아래쪽은 하위 ​​목록의 첫 번째 노드를 가리킵니다. tag가 false이면 요소는 atom입니다. 다음 포인터는 목록의 다음 요소를 가리킵니다. 목록은 다음과 같습니다.

데이터 구조의 일반화된 목록