Computer >> Máy Tính >  >> Lập trình >> Lập trình

Danh sách tổng quát trong cấu trúc dữ liệu


Trong phần này, chúng ta sẽ thấy các danh sách tổng quát. Danh sách tổng quát có thể được định nghĩa như sau -

Một danh sách tổng quát L là một dãy hữu hạn gồm n phần tử (n ≥ 0). Nguyên tố ei là một nguyên tử (nguyên tố đơn lẻ) hoặc một danh sách tổng quát khác. Các nguyên tố ei không phải là nguyên tử thì chúng sẽ là con của L. Giả sử L là ((A, B, C), ((D, E), F), G). Ở đây L có ba phần tử danh sách con (A, B, C), danh sách con ((D, E), F) và nguyên tử G. Một lần nữa danh sách con ((D, E), F) có hai phần tử một. danh sách con (D, E) và nguyên tử F.

Trong C ++, chúng ta có thể xác định cấu trúc danh sách Tổng quát như bên dưới -

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

Vì vậy, nếu thẻ là true, thì phần tử được biểu diễn bởi nút là một danh sách con. Nút xuống chỉ đến nút đầu tiên trong danh sách phụ. Nếu thẻ sai, phần tử là nguyên tử. Con trỏ tiếp theo trỏ đến phần tử tiếp theo trong danh sách. Danh sách sẽ như thế này.

Danh sách tổng quát trong cấu trúc dữ liệu