tailieunhanh - Cấu trúc dữ liệu và giải thuật - Chương 4

NGĂN XẾP (STACK) VÀ HÀNG ĐỢI (QUEUE) I. ĐỊNH NGHĨA STACK Stack là 1 kiểu danh sách đặc biệt mà phép bổ sung và phép loại bỏ luôn thực hiện ở 1 đầu; được gọi là đỉnh (top) Có thể hình dung cơ cấu của stack như 1 chồng đĩa. | Chương IV. NGĂN XẾP STACK VÀ HÀNG ĐỢI QUEUE I. ĐỊNH NGHĨA STACK Stack là 1 kiểu danh sách đặc biệt mà phép bổ sung và phép loại bỏ luôn thực hiện ở 1 đầu được gọi là đỉnh top Có thể hình dung cơ cấu của stack như 1 chồng đĩa. Đưa thêm 1 đĩa mới vào thì đặt nó vào đầu phía trên đỉnh lấy 1 đĩa ra thì cũng lấy đựơc từ đầu đó. Đĩa đưa vào sau cùng chính là đĩa đang nằm ở đỉnh và nó cũng chính là đĩa sẽ được lấy ra trước tiên. Còn đĩa đưa vào đầu tiên lại đang ở vị trí được gọi là đáy bottom và chính nó là đĩa được lấy ra sau cùng. Như vậy stack hoạt động theo cơ chế vào-sau-ra-trước last-in-first-out . Do đó stack được gọi là danh sách kiểu LIFO. Stack có thể rỗng nghĩa là không có phần tử nào. II. LƯU TRỮ KẾ TIẾP ĐỐI VỚI STACK Đó chính là cách cài đặt stack bởi 1 vectơ lưu trữ Stack S bao gồm n ô nhớ kế tiếp nhau. Như vậy phần tử ở đỉnh stack sẽ được định vị bởi 1 chỉ số i nào đó mà ta coi như 1 địa chỉ tương đối địa chỉ thực-địa chỉ tuyệt đối-sẽ đựơc xác định như đã nêu ở mục thuộc chương 2 . Có thể coi i những giá trị của 1 con trỏ T trỏ tới đỉnh stack. Người ta quy ước T 0 nghĩa là stack vậy T i thì stack có i phần tử. Rõ ràng 0 T n khi T n thì stack sẽ đầy lúc đó nếu có phép bổ sung 1 phần tử mới vào stack thì sẽ không thực hiện được vì không còn chỗ ta nói là có hiện tượng TRÀN Overflow và tất nhiên việc xử lý phải ngừng nếu T 0 nghĩa là stack đã rỗng mà lại có phép loại bỏ 1 phần tử ra khỏi stack thì phép xử lý này cũng không thực hiẹn được. Ta nói có hiện tượng CẠN Underflow .Sau đây là hình ảnh cài đặt của stack với 3 phần tử S 1 S 2 S 3 S T Đáy của stack Hình Khi bổ sung 1 phần tử mới vào thì T tăng lên 1 còn lại khi loại bỏ 1 phần tử ra khỏi stack thì T giảm đi 1. Hai thủ tục dưới đây thể hiện 2 phép xử lí này. Void PUSH S T X Thực hiện việc bổ sung phần tử X vào Stack cài đặt bởi Vectơ S mà T đang trỏ tới đỉnh Kiểm tra xem Stack đã đầy chưa If T n printf Stack sẽ TRÀN n return Chuyển con trỏ T T 1 Nạp X vào S T X Void POP S T X .

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.