... Nghĩa Hàng đợi, hay ngắn gọn hàng (queue) danh sách đặc biệt mà phép thêm vào thực đầu danh sách, gọi cuối hàng (REAR), phép loại bỏ thực đầu danh sách, gọi đầu hàng (FRONT) Xếp hàng mua vé xem ... Trước I NGĂN XẾP ( STACK ) Định Nghĩa Ngăn xếp (Stack) danh sách mà ta giới hạn việc thêm vào loại bỏ phần tử thực đầu danh sách, đầu gọi đỉnh (TOP) ngăn xếp LIFO: Last In First Out - vào ... p; } I NGĂN XẾP ( STACK ) Các phép toán ngăn xếp 2.1 Cài đặt DSLK Pop( ): Lấy phần tử đầu danh sách void Pop (stack* &Top) { stack *p; if (Empty (Top)) cout
... II DANH SÁCHLIÊNKẾT ĐƠN Các phép toán danh sáchliênkết 4.8 Xóa toàn danh sách p p p pFirst x x x NULL II DANH SÁCHLIÊNKẾT ĐƠN Các phép toán danh sáchliênkết 4.9 Tìm kiếm danh sách Search( ... = p; } II DANH SÁCHLIÊNKẾT ĐƠN Các phép toán danh sáchliênkết 4.2 Thêm vào đầu danh sách NULL x x x pFirst p p p II DANH SÁCHLIÊNKẾT ĐƠN Các phép toán danh sáchliênkết 4.3 Chèn node ... DANH SÁCHLIÊNKẾT ĐƠN Các phép toán danh sáchliênkết 4.3 Chèn node sau node có địa p NULL q x pFirst p II DANH SÁCHLIÊNKẾT ĐƠN Các phép toán danh sáchliênkết 4.4 Kiểm tra danh sách...
... Bạn liệt kê số ứng dụng có sử dụng – Ngăn xếp – Hàng đợi 33 DANH SÁCHLIÊNKẾT KÉP • Mô hình Prev Element Next – Trong phần tử danh sách, ta dùng hai trỏ Next Previous để đến phần tử đứng sau phần ... Position; typedef Position DoubleList; 34 17 DANH SÁCH RỖNG • Tạo danh sách rỗng void MakeNull_List(DoubleList *DL){ (*DL)= NULL; } • Kiểm tra danh sách rỗng int Empty (DoubleList DL){ return (DL==NULL); ... P->Previous temp P P->Next =>Cấp phất ô nhớ chứa phần tử cần thêm =>Đặt lại liênkết 37 THÊM MỘT PHẦN TỬ VÀO DANH SÁCH (2) void Insert_List(ElementType X,Position P, DoubleList *DL){ if (*DL...
... Danh sáchliênkết đơn Danh sáchliênkết kép Danh sáchliênkết vòng Chương 6: Danh sáchliênkết Giới thiệu - Danh sáchliênkết 10 Danh sáchliênkết đơn: phần tử liênkết với phần tử ... danh sách: A B X Z Y Danh sáchliênkết kép: phần tử liênkết với phần tử đứng trước sau danh sách: A Chương 6: Danh sáchliênkết B C D Giới thiệu - Danh sáchliênkết 11 Danh sáchliênkết ... danh sáchliên kết: Thêm phần tử Xóa phần tử Tìm kiếm … Chương 6: Danh sáchliênkết Giới thiệu - Danh sáchliênkết Có nhiều kiểu tổ chức liênkết phần tử danh sách như: Danh sách liên...
... ->Next; } return length; } Thêm phần tử vào cuối linked list: Nếu danh sách rỗng, thêm nút vào head Ngược lại, tìm phần tử cuối danh sách thêm nút vào Next nút cuối đó: void AddLast(LLNode** head, int ... Nếu danh sách khác rỗng, đưa phần tử Next lên phía trước void RemoveFirst(LLNode** head) { LLNode** tmp = head; if ((*tmp) != NULL) { (*tmp) = (*tmp)->Next; } } Tìm kiếm phần tử danh sách: LLNode* ... ((*tmp)->Next != NULL) { tmp = &((*tmp)->Next); } } (*tmp) = NULL; } Thêm phần tử vào đầu danh sách: void AddFirst(LLNode** head, int Data) { LLNode** tmp = head; LLNode* NewNode; NewNode = (LLNode*)...
... Danh sáchliênkết đơn Lý sử dụng ds liênkết Thêm vào danh sáchliên tục(mảng) z a b c d e f g h count=9 count=8 insert(3, ‘z’) Xóa ... count=8 remove(3, x) X=d infor Next Dữ liệu L Trường liênkết Next Next DANH SÁCHLIÊNKẾT ĐƠN ĐỊNH NGHĨA NÚT KHAI BÁO CON TRỎ L TRỎ ĐẾN ĐẦU DANH SÁCH typedef struct Node{ Data infor; Node * next; ... Khai báo trỏ L Node * L; Ví dụ tạo danh sáchliênkết đơn số nguyên typedef struct Node { int infor; Node * next; }; Node *L; Ví dụ tạo danh sáchliênkết đơn sinh viên typedef struct sinhvien...
... - Kiểu lai hoá: 1AOs + 3AOp - hình dạng không gian: 4AO lai hoá hướng đỉnh hình tứ diện - Góc liên kết: 109o28 Lai húa sp3 III S xen ph trc v xen ph bờn * S xen ph trc S xen ph ú trc ca cỏc obitan...
... kế t struct Linked_List; { First NODEPTR; Last NODEPTR; }; II Các phép toán danh sáchliên kết: II.1 Tạo danh sách: a Khởi tạ o danh sá ch (Initialize): dùng để khởi động danh sá ch liê n kế ... New_Node(); q->info = x; q->next = p->next; p->next = q; } } Kỹ thuậ t lậ p trì nh 100 II.2 Cập nhật danh sách: a Giả i phóng vùng nhớ(Free_Node): Hà m nà y dùng để hủy nút đ cấ p phá t, trả vùng nhớ lạ ... NULL) { p=First; First = First->next; // hoặ c First = p->next Free_Node(p); } } II.3 Duyệ t danh sách: Thông thường ta hay duyệ t danh sá ch liê n kế t để thực hiệ n công việ c đó, liệ t kê liệ...
... băm nối kết Các phần tử chứa bảng băm có kích thước nhỏ: phần tử cần chứa trỏ đến ô sống Như vậy, với bảng băm nối kết, kích thước ghi tăng 100% phải chứa thêm trỏ liênkết danh sáchliênkết Tuy ... Việc duyệt danh sách để xác nhận có mặt phần tử hay không không hiệu phương pháp băm biết Đối với ô có Giáo trình Cấu trúc liệu Giải thuật 407 Chương 18 – Ứng dụng danh sáchliênkết bảng băm cấu ... thân bảng băm nối kết có kích thước nhỏ mà chứa số ghi lớn gấp nhiều lần kích thước Với bảng băm Giáo trình Cấu trúc liệu Giải thuật 408 Chương 18 – Ứng dụng danh sáchliênkết bảng băm đòa mở,...
... kế t struct Linked_List; { First NODEPTR; Last NODEPTR; }; II Các phép toán danh sáchliên kết: II.1 Tạo danh sách: a Khởi tạ o danh sá ch (Initialize): dùng để khởi động danh sá ch liê n kế ... New_Node(); q->info = x; q->next = p->next; p->next = q; } } Kỹ thuậ t lậ p trì nh 100 II.2 Cập nhật danh sách: a Giả i phóng vùng nhớ(Free_Node): Hà m nà y dùng để hủy nút đ cấ p phá t, trả vùng nhớ lạ ... NULL) { p=First; First = First->next; // hoặ c First = p->next Free_Node(p); } } II.3 Duyệ t danh sách: Thông thường ta hay duyệ t danh sá ch liê n kế t để thực hiệ n công việ c đó, liệ t kê liệ...
... như: danh sáchliênkết động, cấu trúc cây, đồ thị, … Cấu trúc danh sáchliênkết III.7 III.2 Danh sáchliênkết (DSLK) III.2.1 Định nghĩa danh sách Cho kiểu liệu T Kiểu liệu danh sách TL gồm ... (Stack) Top (Stack, x) III.4.4 Danh sách đa liênkết Danh sách đa liênkết danh sách mà nút nó, ngồi thành phần liệu (có thể có nhiều trường), gồm nhiều thành phần liênkết khác phục vụ cho mục đích ... lưu kết vào S) * * * * Cấu trúc danh sáchliênkết III.31 (Thực phép tốn -1, lưu kết trở lại S) -* (Thực phép tốn -3, lưu kết trở lại S) * 30 (Thực phép tốn * 5, lưu kết 30 trở lại S) Kết...
... kế t struct Linked_List; { First NODEPTR; Last NODEPTR; }; II Các phép toán danh sáchliên kết: II.1 Tạo danh sách: a Khởi tạ o danh sá ch (Initialize): dùng để khởi động danh sá ch liê n kế ... 97 Kỹ thuậ t lậ p trì nh CHƯƠNG CáC THUậT TOáN TRÊN CấU TRúC DANH SáCHLIÊNKếT (LINKED LIST) I Khái niệm: Cấ u trúc danh sá ch liê n kế t cấ u trúc động, việ c cấ p phá ... New_Node(); q->info = x; q->next = p->next; p->next = q; } } Kỹ thuậ t lậ p trì nh 100 II.2 Cập nhật danh sách: a Giả i phóng vùng nhớ(Free_Node): Hà m nà y dùng để hủy nút đ cấ p phá t, trả vùng nhớ lạ...