Chương 3 trình bày về cấu trúc dữ liệu động với các nội dung chi tiết như: Kiểu dữ liệu con trỏ, danh sách liên kết (link list), danh sách liên kết đơn, sắp xếp danh sách, các cấu trúc đặc biệt của danh sách liên kết đơn. Mời các bạn cùng tham khảo.
Chương 3: CẤU TRÚC DỮ LIỆU ðỘNG 3.1 Kiểu liệu trỏ 3.2 Danh sách liên kết (link list) 3.3 Danh sách liên kết ñơn 3.4 Sắp xếp danh sách 3.5 Các cấu trúc ñặc biệt danh sách liên kết ñơn 3.5.1 Stack 3.5.2 Hàng ñợi (Queue) 3.6 Bài tập © Dương Thành Phết-www.thayphet.net Khoa CNTT Trường Cð CNTT TP.HCM 3.1 Kiểu Dữ Liệu Con Trỏ 3.1.1 Biến khơng động 3.1.2 Kiểu trỏ 3.1.3 Biến động © Dương Thành Phết-www.thayphet.net Khoa CNTT Trường Cð CNTT TP.HCM 3.1.1 Biến khơng động Dùng đề lưu trữ đối tượng liệu sử dụng khơng có nhu cầu thay đổi kích thước, số lượng • ðược khai báo tường minh • Tồn phạm vi khái báo • Kích thước khơng thay đổi suốt q trình sống Ví dụ: int a; char b[10]; © Dương Thành Phết-www.thayphet.net Khoa CNTT Trường Cð CNTT TP.HCM 3.1.2 Kiểu trỏ Kiểu trỏ kiểu sở dùng lưu ñịa ñối tượng liệu khác Biến thuộc kiểu trỏ biến mà giá trị địa vùng nhớ biến giá trị Null Tùy vào loại trỏ gần (near pointer) hay trỏ xa (far pointer) mà kiểu liệu trỏ có kích thước khác nhau: + Con trỏ gần: bytes + Con trỏ xa: bytes © Dương Thành Phết-www.thayphet.net Khoa CNTT Trường Cð CNTT TP.HCM Cú pháp ñịnh nghĩa kiểu trỏ typedef *; Ví dụ: typedef int *intpointer; inpointer p; Hay int *p; Các thao tác: - Khi biến trỏ p lưu ñịa ñối tượng x, ta nói “p trỏ x” - Gán địa biến cho trỏ p: p=& -Truy xuất nội dung ñối tượng p trỏ ñến *p © Dương Thành Phết-www.thayphet.net Khoa CNTT Trường Cð CNTT TP.HCM c Ví dụ: void main() { int a,b,*pa,*pb; a=2; b=3; coutpNext = new_ele 26 © Dương Thành Phết-www.thayphet.net Khoa CNTT Trường Cð CNTT TP.HCM 27 void AddAfter(LIST &l,NODE *q, NODE* new_ele) { if ( q!=NULL) { new_ele->pNext