Bạn cứ ngĩ rằng 1 danh sách liên kết đơn bào gồm nhiều node “nối” với nhau (bằng cách 1 node giữ địa chỉ của node đằng sau nó). Vậy, áp dụng n danh danh sách liên kết đơn thì bao gồm n danh sách liên kết “nối” với nhau bằng cách 1 danh sách liên kết sẽ giữ địa chỉ của danh sách liên kết đứng sau nó (tức là địa chỉ của thằng đứng đầu danh sách liên kết đứng sau nó). Bạn thử tham khảo cấu trúc kiểu này xem.
struct node
{
int data;
NODE * pNext;
}
;
typedef struct node NODE;
class DSLK
{
public:
NODE * pHead;
int counter;
NODE * lNext; //=pHead của danh sách liên kết đứng sau nó
DSLK()
{
pHead = NULL;
lNext=NULL;
counter = 0;
}
//Cac ham xu ly
void Nhap();
void Xuat();
}
;
class List_of_DSLK
{
public:
NODE * lHead; //=pHead của danh sách liên kết đầu tiên. Giữ địa chỉ của thăng danh scsh lien kết đầu
int list_counter;
List_of_DSLK()
{
lHead = NULL;
list_counter = 0;
}
//Cac ham xu ly
void Nhap();
void Xuat();
}
;