Đang chuẩn bị liên kết để tải về tài liệu:
Giáo trình hướng dẫn phân tích hàm Input new data để tách một list thành nhiều danh sách p4
Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Giả sử chúng ta cần thực hiện việc tách các nút trong danh sách liên kết đôi DLL_List thành hai danh sách liên kết đôi con DLL_List1 và DLL_List2 luân phiên theo các đường chạy tự nhiên và cần giữ lại danh sách liên kết ban đầu. - Thuật toán: B1: DLL_Initialize(DLL_List1) B2: DLL_Initialize(DLL_List2) B3: CurNode | DLL List NewNode NULL NewNode- NextNode InsNode- NextNode InsNode- NextNode- PreNode NewNode NU InsNode- NextNode NewNode NU NewNode- PreNode InsNode Trang 118 DLL_List DLL_List - Cài đặt thuật toán Các hàm thêm phần tử tương ứng với các trường hợp có prototype như sau DLL_Type DLL_Add_First DLLP_Type DList T NewData DLL_Type DLL_Add_Last DLLP_Type DList T NewData DLL_Type DLL_Add_Mid DLLP_Type DList T NewData DLL_Type InsNode Ham thực hiện việc chen phan tử có gia trị thanh phan dữ liệu NewData vao trong danh sach lien ket đôi quan ly bơi hai con tro đau va cuoi danh sach trong DList tương ứng vơi 3 trương hợp Them đau them cuoi them giữa. Cac ham tra ve gia trị la một địa chỉ cua nut vừa mơi them nếu viẹc them thanh cong. Trong trương hơp ngươc lai cac ham tra ve con tro NULL. Rieng đoi vơi trương hơp them giưa ham DLL_Add_Mid thực hien viec them vao ngay sau nut co địa chỉ InsNode. Noi dung cua cac ham như sau DLL_Type DLL_Add_First DLLP_Type DList T NewData DLL_Type NewNode DLL_Create_Node NewData if NewNode NULL return NULL if DList.DLL_Fữst NULL DList.DLL_First DList.DLL_Last NewNode else NewNode- NextNode DList.DLL_First DList.DLL_First- PreNode NewNode DList.DLL_First NewNode return N ewNode DLL_Type DLL_Add_Last DLLP_Type DList T NewData Trang 119 DLL_Type NewNode DLL_Create_Node NewData if NewNode NULL return NULL if DList.DLL_Last NULL DList.DLL_First DList.DLL_Last NewNode else DList.DLL_Last- NextNode NewNode NewNode- PreNode DList.DLL_Last DList.DLL_Last NewNode return NewNode DLL_Type DLL_Add_Mid DLLP_Type DList T NewData DLL_Type InsNode DLL_Type NewNode DLL_Create_Node NewData if NewNode NULL return NULL if InsNode- NextNode NULL InsNode- NextNode NewNode NewNode- PreNode InsNode DList.DLL_Last NewNode else NewNode- NextNode InsNode- NextNode InsNode- NextNode- P reNode NewNode InsNode- NextNode NewNode NewNode- PreNode InsNode return NewNode d. Duyệt qua các nút trong danh sách Thao tac nay nham nhieu muc đích ơ đây đơn giản chung ta chỉ duyệt để