tailieunhanh - Bài giảng Kỹ thuật lập trình: Ngăn xếp & Hàng đợi - GV. Hà Đại Dương

Bài giảng trình bày nội dung chi tiết về các thao tác với ngăn xếp và hàng đợi trong một chương trình lập trình. để bổ sung thêm kiến thức, nâng cao thêm kỹ năng lập trình của mình. | 11/22/2016 Kỹ thuật lập trình Tuần 12 - Ngăn xếp & Hàng đợi Giáo viên: Hà Đại Dương duonghd@ 11/22/2016 1 Bài trước 1. 2. 3. 4. Kiểu có cấu trúc (structure) Danh sách liên kết (linked list) Ngăn xếp (Stack) Hàng đợi (Queue) 11/22/2016 2 Ngăn xếp - Stack 11/22/2016 3 1 11/22/2016 Khái quát • Là một dạng danh sách “đặc biệt”: Việc thêm (phần tử) vào và lấy (phần tử) ra đều làm ở đỉnh ngăn xếp. • Để tạo ngăn xếp: – Có thể dùng Mảng (Sinh viên tự nghiên cứu, BTVN) – Có thể dùng danh sách liên kết 11/22/2016 4 Các thao tác với ngăn xếp • • • • • • Khai báo Khởi tạo (init) Kiểm tra ngăn xếp rỗng (isEmpty) Thêm phần tử vào (push) Lấy phần tử ra (pop) Lấy giá trị phần tử trên đỉnh (get) 11/22/2016 5 Khai báo • Cấu trúc dạng bản ghi tự trỏ • Khai báo biến 11/22/2016 6 2 11/22/2016 Vấn đề • Biến mô tả stack là một con trỏ • Chúng ta mới dùng tham số thực cho hàm dạng biến thường, và muốn trả về giá trị cho tham số này thì tham số hình thức cần khai báo dạng con trỏ hoặc tham chiếu • Cần truyền tham số thực dạng con trỏ cho hàm làm thế nào? -> Con trỏ (hoặc tham chiếu??) 11/22/2016 7 Hàm với các dạng tham số đầu vào Gọi hàm Ba cách khai báo tham số Tham trị a, b không đổi Con trỏ 11/22/2016 Tham chiếu 8 Khởi tạo • Khởi tạo giá trị cuối để biết điểm kết thúc của ngăn xếp ở đâu. Giá trị này thường được chọn là NULL. • Hàm init() 11/22/2016 9 3 11/22/2016 Kiểm tra ngăn xếp rỗng • Kiểm tra xem đã đến đáy ngăn xếp hay chưa • Hàm isEmpty() 11/22/2016 10 Thêm phần tử vào (push) • Thêm phần tử vào đỉnh ngăn xếp • Hàm push() 11/22/2016 11 Lấy phần tử ra (pop) • Lấy ra phần tử ở đỉnh ngăn xếp • Hàm pop() 11/22/2016 12 4 11/22/2016 Ví dụ 1 - Đảo ngược xâu • Đảo ngược 1 xâu ký tự, ví dụ đảo ngược HELLO là OLLEH • Cách làm: 1. Lấy từng ký tự của xâu vào theo thứ tự từ trái qua phải và đẩy (push) vào ngăn xếp. 2. Lần lượt lấy các ký tự ra khỏi ngăn xếp -> Được xâu đảo ngược. 11/22/2016 13 Ví dụ 1 11/22/2016 14 Ví dụ

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.