... CỦA NGĂN XẾP VÀ HÀNG ĐỢI • Bạn liệt kê số ứng dụng có sử dụng – Ngăn xếp – Hàng đợi 33 DANHSÁ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 ... PHẦN TỬ VÀO DANHSÁCH (1) • Trước thêm P->Previous P P->Next • Sau thêm 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 DANHSÁCH (2) ... (*DL)= NULL; } • Kiểm tra danhsách rỗng int Empty (DoubleList DL){ return (DL==NULL); } 35 TRẢ VỀ NỘI DUNG PHẦN TỬ VỊ TRÍ P TRONG DANHSÁCH P =>Vị trí phần tửtrỏtrỏ vào phần tử ElementType Retrieve...
... sẵn danhsáchliênkết đơn gồm phần tử mang giá trị nguyên giá trị nguyên x Hãy tách danhsáchliênkết cho thành danhsáchliên kết: danhsách gồm phần tử có giá trị nhỏ giá trị x danhsách ... nhập vào giá trị -1, trình nhập liệu kết thúc Sau đó, in phần tử có danhsáchliênkết Khi chương trình kết thúc, tất phần tửdanhsáchliênkết bị xóa bỏ khỏi nhớ Phân tích - Danhsáchliênkết ... tác cần thực hiện: thêm phần tử nguyên vào đầu danhsáchliênkết (AddHead), in phần tửdanhsáchliênkết (PrintList), loại bỏ tất phần tửdanhsáchliênkết (RemoveAll) Chương trình mẫu #include...
... Bài 1: Danhsáchliênkết I) Danhsáchliênkết đơn Tổ chức danhsách đơn Danhsáchliênkết bao gồm phần tử Mỗi phần tửdanhsách đơn cấutrúc chứa thông tin : - Thành ... danhsách }DLIST; Chèn phần tử vào danh sách: Có loại thao tác chèn new_ele vào danh sách: Cách 1: Chèn vào đầu danhsách Cài đặt : Cách 2: Chèn vào cuối danhsách Cài đặt : Cách : Chèn vào danh ... trữ địa đầu, địa cuối danhsáchliênkết 1.Chèn phần tử vào danh sách: Có loại thao tác chèn new_ele vào xâu: Cách 1: Chèn vào đầu danhsách Thuật toán : Bắt đầu: Nếu Danhsách rỗng Thì B11 : pHead...
... cập thành phần có cấutrúc Biến cấutrúc kiểu trỏ ->thành phần cấutrúc VD: DATE *d; d->nam = 2012; 24 Bài tập Viết lại hàm Bài tập sử dụng khai báo biến kiểu trỏcấutrúc 25 Các phương ... mảng, cấutrúc Kiểu liệu có cấutrúc hướng giải vấn đề: Danhsáchliên kết, hàng đợi, ngăn xếp, cây, bảng băm, … Khái niệm kiểu liệu Tĩnh • Được định nghĩa thời điểm biên dịch Động • Được gắn kết ... int nam; }; typedef struct ttDate DATE; 21 Truy cập thành phần có cấutrúc Biến cấutrúc kiểu tĩnh .thành phần cấutrúc VD: DATE d; d.nam = 2012; 22 Bài tập Viết hàm nhập hàm xuất thông...
... báo cấutrúcdanhsáchliênkết Khai báo nguyên mẫu hàm void main() { Tạo lập danhsách rỗng Nhập liệu vào danhsách Các thao tác xử lý danhsách Hủy danhsách } Cài đặt hàm Tạo lập danhsách ... Các thao tác DSLK đơn Tạo lập danhsách rỗng Kiểm tra danhsách rỗng Thêm nút vào danhsách Duyệt danhsách Xóa nút Tìm phần tử Sắp xếp danhsáchCấutrúc tổng quát chương trình Khai ... khác thông qua trỏliênkếtCấu tạo DSLK Node List pHead pTail Cấu tạo DSLK Quản lý toàn danhsáchliênkết thông qua trỏ đầu pHead pHead nút, “con trỏ đến nút” mà Ta quản lý danhsách cách sử...
... Danhsáchliênkết vòng Chương 6: Danhsáchliênkết Giới thiệu Danhsáchliênkết đơn: phần tửliênkết với phần tử đứng sau danh sách: A B X Z Y Danhsáchliênkết đôi: phần tửliênkết ... trước sau danh sách: A Chương 6: Danhsáchliênkết B C D Giới thiệu 10 Danhsáchliênkết vòng : phần tử cuối danhsáchliênkết với phần tử đầu danh sách: A B A Chương 6: Danhsáchliênkết X ... sáchliên kết: Thêm phần tử Xóa phần tử Tìm kiếm … Chương 6: Danhsáchliênkết Có nhiều kiểu tổ chức liênkết phần tửdanhsách như: Danhsáchliênkết đơn Danhsáchliênkết kép...
... www.kenbon.net Bài 1: Danhsáchliênkết I) Danhsáchliênkết đơn Tổ chức danhsách đơn Danhsáchliênkết bao gồm nhiều phần tử Mỗi phần tửdanhsách đơn cấutrúc chứa thông tin : - Thành ... tử cuối danhsách }DLIST; Chèn phần tử vào danh sách: Có loại thao tác chèn new_ele vào danh sách: Cách 1: Chèn vào đầu danhsách www.kenbon.net Cài đặt : Cách 2: Chèn vào cuối danhsách Cài ... trữ địa đầu, địa cuối danhsáchliênkết 1.Chèn phần tử vào danh sách: Có loại thao tác chèn new_ele vào xâu: Cách 1: Chèn vào đầu danhsách Thuật toán : Bắt đầu: Nếu Danhsách rỗng Thì B11 : pHead...
... cuối danh sá ch liê n kế t struct Linked_List; { First NODEPTR; Last NODEPTR; }; II Các phép toán danhsá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 ... ' First trỏtrỏ đế n phầ n tử đầ u tiê n danh sá ch liê n kế t, kiể u trỏ (như khai bá o trê n), struct có hai nh phầ n: First trỏ đế n phầ n tử đầ u tiê n danh sá ch liê n kế t, Last trỏ đế n ... x o danh sá ch liê n kế t có thứ tự tă ng dầ n cho sau thê m danh sá ch liê n kế t vẫ n có thứ tự tă ng 13 Loạ i bỏ phầ n tử có nội dung x danh sá ch liê n kế t có thứ tự tă ng dầ n 14 Cho danh...
... cuối danh sá ch liê n kế t struct Linked_List; { First NODEPTR; Last NODEPTR; }; II Các phép toán danhsá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 ... ' First trỏtrỏ đế n phầ n tử đầ u tiê n danh sá ch liê n kế t, kiể u trỏ (như khai bá o trê n), struct có hai nh phầ n: First trỏ đế n phầ n tử đầ u tiê n danh sá ch liê n kế t, Last trỏ đế n ... x o danh sá ch liê n kế t có thứ tự tă ng dầ n cho sau thê m danh sá ch liê n kế t vẫ n có thứ tự tă ng 13 Loạ i bỏ phầ n tử có nội dung x danh sá ch liê n kế t có thứ tự tă ng dầ n 14 Cho danh...
... như: danhsáchliênkết động, cấutrúc cây, đồ thị, … Cấutrúcdanhsáchliênkết III.7 III.2 Danhsáchliênkết (DSLK) III.2.1 Định nghĩa danhsách Cho kiểu liệu T Kiểu liệu danhsách TL gồm phần ... kiểu thứ tự tuyến tính - OL gồm tốn tử: tạo danh sách, duyệt danh sách, tìm đối tượng (thỏa tính chất đó) danh sách, chèn đối tượng vào danh sách, hủy đối tượng khỏi danh sách, xếp danhsách theo ... tốn danhsách cài đặt theo kiểu liênkết bị chậm Cấu trúcdanhsáchliênkết III.8 Sau đây, ta chủ yếu tập trung khảo sát kiểu danhsáchliênkết động cài đặt trỏ: DSLK đơn (có khơng có nút câm),...
... CHƯƠNG CáC THUậT TOáN TRÊN CấUTRúCDANHSáCHLIÊNKếT (LINKED LIST) I Khái niệm: Cấ u trúcdanh sá ch liê n kế t cấ u trúc động, việ c cấ p phá t nút giả i phóng nút trê n danh sá ch xả y chương ... cuối danh sá ch liê n kế t struct Linked_List; { First NODEPTR; Last NODEPTR; }; II Các phép toán danhsá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 ... ' First trỏtrỏ đế n phầ n tử đầ u tiê n danh sá ch liê n kế t, kiể u trỏ (như khai bá o trê n), struct có hai nh phầ n: First trỏ đế n phầ n tử đầ u tiê n danh sá ch liê n kế t, Last trỏ đế n...
... rỗng đầy Hàng đợi khai báo cụ thể sau: Data Q[N] ; int f, r; Dùng danhsáchliênkết Ta tạo hàng đợi cách sử dụng danhsáchliênkết đơn LIST Q; Các thao tác: Tạo hàng đợi rỗng: Lệnh Q.pHead = ... diễn Stack dùng danhsáchliênkết đơn VD: LIST S; Các thao tác: Tạo Stack S rỗng (S.pHead=l.pTail= NULL tạo Stack S rỗng) Kiểm tra stack rỗng: int IsEmpty(LIST &S) Thêm phần tử p vào stack S:void ... First Out) nghĩa việc thêm đối tượng vào hàng đợi lấy đối tượng khỏi hàng đợi thực theo chế "Vào trước trước" Hàng đội Các thao tác: EnQueue(o): Thêm đối tượng o vào cuối hàng đợi DeQueue(): Lấy...
... danhsách }DLIST; Chèn phần tử vào danh sách: Có loại thao tác chèn new_ele vào danh sách: Cách 1: Chèn vào đầu danhsách Cài đặt : Cách 2: Chèn vào cuối danhsách Cài đặt : Cách : Chèn vào danh ... nút danhsách - Ðếm phần tửdanh sách, - Tìm tất phần tử thoả điều kiện, - Huỷ toàn danhsách (và giải phóng nhớ) Thuật toán xử lý nút danh sách: Bước 1: p = pHead; //Cho p trỏ đến phần tử đầu danh ... pHead:=pHead->pNext; // Cho p trỏ tới phần tử kế B12: Hủy p; Bước 2: Tail = NULL; //Bảo đảm tính quán xâu rỗng II Danhsáchliênkết kép Là danhsách mà phần tửdanhsách có kết nối với phần tử đứng...
... Bài 1: Danhsáchliênkết I) Danhsáchliênkết đơn Tổ chức danhsách đơn Danhsáchliênkết bao gồm phần tử Mỗi phần tửdanhsách đơn cấutrúc chứa thông tin : - Thành ... trữ địa đầu, địa cuối danhsáchliênkết 1.Chèn phần tử vào danh sách: Có loại thao tác chèn new_ele vào xâu: Cách 1: Chèn vào đầu danhsách Thuật toán : Bắt đầu: Nếu Danhsách rỗng Thì B11 : pHead ... phần tửdanhsách cấp phát động Biết phần tử ta truy xuất phần tử Thường sử dụng trỏ Head để lưu trữ địa danhsách Ta có khai báo: NODE *pHead; Để quản lý địa cuối danhsách ta dùng trỏ TAIL...
... // In danhsách h?c sinh có nam sinh t? 1980 tr? v? dây void Process ( List L ) { node * p = L.head ; // tr? p tr? t?i ph?n t? d?u tiên c?a danhsách if ( L.head == NULL ) //Ki?m tra danhsách ... phần tử cuối danhsách Minh họa : Mô tả : + Nếu danhsách khác rỗng P = Tail; // p phần tử cần xóa Tail = Tail->Prev; // tách p khỏi xâu Tail->Next = NULL; Free(p); // hủy biến động p trỏ đến + ... NULL) L.tail = NULL; Else L.head->pPrev = NULL; } } In Danhsách người có năm sinh > 1980 Mô tả : + p = Head; // cho p trỏ đến phần tử đầu danhsách + Trong (p != NULL) (p->info.ns > 1980) thực :...
... tửliênkết với phần tử đứng trước danh sách: A B X Y Z Danhsáchliênkết kép : Mỗi phần tửliênkết với phần tử đứng trước sau danh sách: A B X Y Z Danhsáchliênkết vòng: Phần cuối danhsách ... ? Danhsáchliênkết tập hợp phần tử nối kết với theo trình tự tuyến tính có thao tác tìm kiếm ,thêm bớt loại bỏ ,sắp xếp … ():Các loại danhsáchliênkết : Danhsáchliênkết đơn : ... tạo danhsáchtừdanhsách củ có thứ tự ( hủy danhsách củ) Ví dụ : dùng phương án cho thuật toán chọnt trực tiếp giả sử danhsách quản lý trỏ đầu xâu RESULTthực sau B Khởi tạo danhdanh sách...
... 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ếtdanhsáchliênkết Tuy nhiên, thân bảng băm nối kết có kích thước nhỏ ... duyệt danhsá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ấutrúc liệu Giải thuật 407 Chương 18 – Ứng dụng danhsáchliênkết bảng băm cấu hình, ... xem xét tương tự hàm vừa hàm tương ứng phiên thứ Chúng ta dành chúng lại tập Giáo trình Cấutrúc liệu Giải thuật 415 Chương 18 – Ứng dụng danhsáchliênkết bảng băm Giáo trình Cấutrúc liệu Giải...
... đổi nhiều, nên tối ưu lưu đĩa cho thuê cấutrúcdanhsách móc nối Bạn định nghĩa cấutrúcdanhsách móc nối để lưu thông tin đĩa cho thuê Thêm vào danhsách thông tin đĩa thuê, ví dụ “D001”, ... đặt hàm thực thao tác thêm, xóa tìm kiếm danhsáchliênkết đôi Bài 22 Cài đặt hàm thực thao tác thêm, xóa tìm kiếm danhsáchliênkết đôi nối vòng (danh sách nối đôi sử dụng nút đầu giả) Bài 23 ... điểm mảng cấutrúcliênkết dùng để lưu trữ kiểu liệu trừu tượng danhsách tuyến tính Bài 18 Cần phải lưu trữ danhsách tuyến tính thông tin khách hàng ngày tháng siêu thị Ta chọn cấutrúc liệu...