{ Data info; Struct Node *Next; }; Typedef struct Node NODE; CẤU TRÚC DỮ LIỆU CỦA DANH SÁCH LIÊN KẾT ĐƠN Typedef struct List { NODE *Head; NODE *Tail; } Typedef struct LIST; KHỞI TẠO DANH SÁCH LIÊN KẾT Void CreateList (LIST &L) { L.Head = NULL; L.Tail = NULL; } TẠO MỘT PHẦN TỬ MỚI NODE *CreateNode(Data x) { NODE *P; P = new Node; If (P == NULL) Return NULL; P->Info = x; P->Next = NULL; Return P; } THÊM PHẦN TỬ VÀO ĐẦU DANH SÁCH LIÊN KẾT ĐƠN Voide AddHead (List &L, NODE *P) { If (L.Head == NULL) { L.Head = P; L.Tail = L.Head; P->Next = NULL; } Else { P ->Next= L.Head; L.Head = P; } } THUẬT TOÁN THÊM VÀO CUỐI DANH SÁCH LIÊN KẾT Void AddTail(LIST &L, NODE *P) { If (L.Head== NULL) { L.Head = P; L.Tail = L.Head; } Else { L.Tail->Next = P; L.Tail = P; } } THÊM PHẦN TỬ P VÀO SAU Q TRONG DANH SÁCH LIÊN KẾT Void AddAfterQ (List &L, NODE *P, NODE *Q) { If (Q == NULL) AddHead(L,Q); Else { P->Next = Q->Next; Q->Next = P; If (L.Tail == Q) L.Tail = Q; } } HỦY PHẦN TỬ ĐỨNG ĐẦU TRONG DANH SÁCH LIÊN KẾT ĐƠN Void RemoveHead(LIST &L, int &X) { NODE *P; If ( L.Head != NULL) { P = L.Head; X = P->info; L.Head = L.Head->Next; Delete P; If (L.Head == NULL); L.Tail == NULL; Return 1; } Return 0; } HỦY PHẦN TỬ SAU PHẦN TỬ Q TRONG LIST Void RemoveAfterQ(List &L, Node *Q, int &x) { Node *P; If (Q != NULL) { P = Q->Next; If (P != NULL) { If (P== L.Tail) L.Tail = Q; Q->Next = P->Next; X = P->Info; Delete P; } Return 1; } Else return 0; } HỦY PHẦN TỬ CÓ KHÓA X Void RemoveX(List &L, int x) { Node *P,Q = NULL; P = L.Head; While (P!=NULL) && (P->info !=x) { P = Q; P = P->Next; } If (P == NULL ) Return 0; If (P != NULL) RemoveAfterQ(L,Q,x); else RemoveHead(L,x); Return 1; } HÀM TÌM MỘT PHẦN TỬ TRONG DANH SÁCH LIÊN KẾT ĐƠN Node *Search(List &L, int x) { Node *P; P = L.Head; While ( P != NULL ) && ( P->info != x) P = P->Next; Return P; } HÀM NHẬP PHẦN TỬ TRONG DANH SÁCH LIÊN KẾT ĐƠN Void Input(List &L) { Node *P; P = L.Head; While (P != NULL) { Cin >> P->info ; P = P->Next; } }
THE STEP BY STEP GUIDE FOR SUCCESSFUL IMPLEMENTATION OF DATA LAKE-LAKEHOUSE-DATA WAREHOUSE: "THE STEP BY STEP GUIDE FOR SUCCESSFUL IMPLEMENTATION OF DATA LAKE-LAKEHOUSE-DATA WAREHOUSE"