tài liệu uy tín được biên soạn bởi giảng viên đại học Bách Khoa TPHCM, thuận lợi cho qua trình tự học, nghiên cứu bộ tự động hóa, điện tử, cơ điện tử, cơ khí chế tạo máy, lập trình nhúng, Tài liệu được kiểm duyệt bởi giảng viên, phòng đào tạo trường đại học bách khoa, lưu hành nội bộ
Chương Danh sách Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Nội dung Ðịnh nghĩa danh sách Các tác vụ danh sách Danh sách đặc Danh sách liên kết Hàng Chồng Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Các định nghĩa Định nghĩa f Danh sách (list) tập hợp rỗng gồm nhiều phần tử a1, a2, …, an mà tính chất cấu trúc mối liên hệ tương đối phần tử với nhau: biết phần từ biết vị trí phần tử ai+1 f Chiều dài (length) danh sách số lượng phần tử danh sách f Danh sách rỗng (empty list) danh sách có chiều dài (khơng có phần tử cả) Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Các tác vụ danh sách Khởi tạo danh sách rỗng Thêm phần tử vào danh sách Loại bỏ phần tử danh sách Tìm kiếm phần tử danh sách Sắp thứ tự danh sách Kiểm tra danh sách rỗng … Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Danh sách đặc Định nghĩa f Danh sách đặc (condensed list) danh sách mà phần tử xếp nhớ: đứng sau vị trí vị trí ai+1 Định nghĩa kiểu type tênmảng = array [min max] of kiểuthànhphần; f Ví dụ: const nmax = 100; type list_type = record info: array [1 nmax] of integer; n: integer end; Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Danh sách đặc a1 a2 a3 anmax Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Danh sách đặc Khởi tạo danh sách rỗng procedure List_Init (var List: list_type); begin List.n := 0; end; Lệnh gọi: List_Init (List); a n := a2 a3 anmax Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Danh sách đặc Kiểm tra danh sách đầy function List_Full (List: list_type): boolean; begin List_Full := List.n = nmax; end; Lệnh gọi: full := List_Full (List); Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Danh sách đặc Thêm phần tử vào danh sách có thứ tự tăng dần ai-1 x di chuyển xuống vị trí an Chương Danh sách 2006 Nguyễn Trung Trực - Khoa CNTT Danh sách đặc procedure List_Insert (var List: list_type; x: integer); var i, j: integer; cont: boolean; begin i := 1; cont := true; while (i