Bài tập chương Phần stack, queue Bài Thực liên tiếp lệnh sau stack rỗng, kết thu gì? Vẽ hình minh họa Push(3); Push(5); Pop() Push(7); Pop(); Push(8); Pop(); Pop(); Bài Cho danh sách móc nối với cấu trúc nút sau: typedef struct node { float data; struct node *pNext; } NODE; Hãy viết hàm reverse để in nội dung danh sách móc nối theo thứ tự ngược void reverse (NODE* pHead) Gợi ý: sử dụng stack Bài Tính giá trị biểu thức hậu tố sau, mô tả rõ bước làm a) + ∗ − ∗ − b) + ^ ∗ / − c) + % / − d) 3 % ^ − / ∗ − Bài Chuyển biểu thức trung tố sau sang biểu thức hậu tố a) (𝑎 + 𝑏) ∗ 𝑐^(𝑑 + − ∗ (9/3)) b) + 4/(2 + 𝑎 − 𝑐 ∗ 𝑏) − 7%(5 + 𝑐) c) + (3 − (4 ∗ (5^𝑎%𝑏))) d) 3– 𝑎 ∗ (3^2 − 6%(5 + 9)) Bài Định giá biểu thức hậu tố sau (các toán hạng toán tử cách dấu cách, toán hạng gồm nhiều chữ số) √ toán tử bậc hai, 𝐴𝑁𝐷, 𝑁𝑂𝑇, 𝑂𝑅 toán tử logic, ≥, >, ≤ toán tử quan hệ, ! toán tử tính giai thừa, 𝑎𝑏𝑠 toán tử tính giá trị tuyệt đối a) 15 + / ^ 12 − % + b) c) d) e) + + √ ^ 12 / − + 27 ^ / + % − + ≥ 45 > ≤ 𝐴𝑁𝐷 𝑁𝑂𝑇 𝑂𝑅 12 ∗ / + ^ % f) ! + % 12 + 15 − + g) 16 − 𝑎𝑏𝑠 + + / Bài Chuyển biểu thức sau từ dạng trung tố dạng hậu tố (các toán hạng toán tử cách dấu cách, toán hạng gồm nhiều chữ số) a) + ^ (12 / + 1) – ∗ 15 / + b) 𝑠𝑖𝑛 (5 ∗ 𝑎 + 7) + – ∗ ∗ 𝑏 + ^ ^ 𝑐 / c) 23 + 𝑎 − √ (6 ∗ 𝑏 + 5) / ^ ∗ cos(3 ∗ 𝑐) (chú ý √ (6 ∗ 𝑏 + 5) tương đương với √6 ∗ 𝑏 + 5) d) (3 ≥ 𝑎) 𝐴𝑁𝐷 �( 𝑐 ≥ 𝑑) 𝑂𝑅 �𝑁𝑂𝑇 (4 < 𝑑)�� e) ^ ^ ^ (4 ∗ – / 𝑏 + 6) % (7 + 𝑎 + 𝑐) f) 𝑎𝑏𝑠 (6 − 𝑏 ∗ + ∗ 𝑎) ^ / 𝑐 + Bài Cài đặt thuật toán định giá biểu thức trung tố tổng quát (thực tập toán tử slide) Bài Cài đặt thuật toán chuyển biểu thức dạng trung tố sang dạng hậu tố Bài Bài toán kiểm tra cặp ngoặc biểu thức có hợp lệ Một biểu thức có dấu ngoặc hợp lệ số dấu ngoặc mở phải số dấu ngoặc đóng loại Ví dụ: Biểu thức hợp lệ • {2 + ∗ (5/3^2)}/{7 ∗ 𝑏} • + {3 ∗ [4 + − (2/3^2)]} Biểu thức không hợp lệ • {3 + (6 − [5 ∗ 2)} • + (6 ∗ (5 − 𝑎) Hãy viết chương trình nhận đầu vào biểu thức, kiểm tra xem biểu thức có hợp lệ hay không Bài 10 Bài toán đối sánh thẻ HTML Trong văn HTML thẻ mở phải kèm với thẻ đóng Tìm kiếm: Hãy viết chương trình đọc vào file html kiểm tra xem file có thẻ bị lỗi hay không Bài 11 Cho Queue lưu trữ mảng có ô nhớ front rear Ban đầu front =-1 rear = 1, thực liên tiếp lệnh sau enQueue(5) dequeue() enQueue(3) deQueue() deQueue() enQueue(9) Hãy vẽ trạng thái queue sau bước Nếu Queue tổ chức dạng vòng kết có khác sau ta thực liên tiếp lệnh trên, đồng thời thực tiếp lệnh enQueue(1) deQueue() enQueue(10) Bài 12 Cài đặt minh họa queue vòng dùng mảng Bài 13 So sánh ưu nhược điểm lưu trữ queue cấu trúc liên tiếp (mảng) cấu trúc liên kết (danh sách liên kết đơn) Bài 14 Cài đặt ứng dụng queue để mô hàng đợi khám bệnh bệnh viện mô tả slide ... + ∗