THÊM MỘT PHẦN TỬ VÀO CUỐI DANH SÁCH 3.. XÓA MỘT PHẦN TỬ RA KHỎI DANH SÁCH 5.. THÊM MỘT PHẦN TỬ VÀO CUỐI DANH SÁCH... LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN... LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 2Danh sách liên kết đơn
Trang 3Thêm vào một danh sách liên tục(mảng)
Trang 4X=d remove(3, x)
Trang 7ĐỊNH NGHĨA 1 NÚT và KHAI BÁO CON TRỎ L TRỎ ĐẾN
Trang 8Ví dụ tạo danh sách liên kết đơn các
Trang 9Ví dụ tạo danh sách liên kết đơn các
Trang 10ngtuananh_vn@yahoo.com 10
Dạng tổng quát dùng một con trỏ
Trang 11DSLKDON 1 CON TRỎ
Dạng tổng quát dùng 1 con trỏ L
L
L
Trang 12Các phép toán trên DSLK đơn
1 TẠO DANH SÁCH RỖNG
2 THÊM MỘT PHẦN TỬ VÀO CUỐI DANH SÁCH
3 THÊM MỘT PHẦN TỬ SAU MỘT PHẦN TỬ KHÁC
4 XÓA MỘT PHẦN TỬ RA KHỎI DANH SÁCH
5 GHÉP NỐI 2 DSLK ĐƠN THÀNH MỘT DSLK ĐƠN.
Trang 131 TẠO DANH SÁCH RỖNG
• Procedure MakeNull( L )
L = Nil;
Trang 142 THÊM MỘT PHẦN TỬ VÀO CUỐI DANH SÁCH
Trang 152 THÊM MỘT PHẦN TỬ VÀO CUỐI
Trang 162 THÊM MỘT PHẦN TỬ VÀO CUỐI
Trang 21DANH SÁCH SAU KHI THÊM NÚT MỚI X=12
L
12
Trang 224 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
PROCEDURE DELETE ( L, M )
Trường hợp 1
DANH SÁCH RỖNG KẾT THÚC
Trang 23Trường hợp 2 Nút M trùng với nút đầu danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 24Trường hợp 2 Nút M trùng với nút đầu danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
PROCEDURE DELETE ( L, M )
L
Trang 25Trường hợp 3 Nút M=12 nằm ở giữa danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 26Trường hợp 3 Nút M nằm ở giữa danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 27Trường hợp 3 Nút M nằm ở giữa danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 28Trường hợp 3 Nút M nằm ở giữa danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 29Trường hợp 3 Nút M nằm ở giữa danh sách
4 LOẠI BỎ MỘT NÚT RA KHỎI DSLK ĐƠN
Trang 305 GHÉP NỐI 2 DSLK ĐƠN THÀNH MỘT DSLK ĐƠN.
Trang 37CÁC PHÉP TOÁN TRÊN DSLKD
DÙNG 2 CON TRỎ
1 Tạo danh sách rỗng
2 Phép thêm một phần tử vào cuối DS
3 Duyệt danh sách
4 Phép xóa một phần tử
5 Phép nối hai danh sách
L
Dạng tổng quát dùng 2 con trỏ F và L
F: First L: Last
Trang 381 Tạo danh sách rỗng
Trang 392 Phép thêm một phần tử vào cuối Insert(X,F,L);
• Trường hợp 1: Danh sách rỗng:
Trang 413 Duyệt danh sách Write(F);
Trang 46– Nếu tìm thấy thì xóa : Thực hiện xóa
Trang 48TH 1: Phần tử cần tìm trùng với nút đầu sách
Trang 49TH 1: Phần tử cần tìm trùng với nút đầu sách
Trang 50TH2: Xóa nút p ở giữa danh sách
Trang 51TH2: Xóa nút p ở giữa danh sách
Trang 52TH3: Xóa nút p trùng với phần tử cuối của
Trang 53TH3: Xóa nút p trùng với phần tử cuối của
Trang 565 Phép nối hai danh sách Combine(F1,F2);
Trang 585 Phép nối hai danh sách Combine(F1,F2);
Trang 59• For “Single Linked List”
Trang 60Procedure Invert S(S: pointer to S.L.)
Trang 61Bài tập về nhà
Bài tập 1 Viết chương trình sử dụng dslkđơn cho bởi con trỏ L trỏ đến đầu
danh sách quản lý mặt hàng điện tử : tên, mã, đơn giá, số lượng, năm sx;
1 Nhập danh sách mặt hàng(mỗi lần nhập xong 1 mặt hàng có hỏi”Ban
co tiep tuc (C/K)?”
2 Hiển thị danh sách lên màn hình theo dạng cột
3 Thêm 1 mặt hàng vào cuối danh sách
4 Sắp xếp danh sách tăng dần bằng thuật toán SelectSort
5 Tìm kiếm mặt hàng có mã cho trước
6 Xóa mặt hàng có mã cho trước( trước khi xóa hãy hiển thị ds lên màn
hình).
7 ESC Kết thúc chương trình