Bài tập tuần 4 Hàng đợi và Ngăn xếp Câu 1 Kiểu vector của thư viện chuẩn STL được hướng dẫn sử dụng trong bảng sau Phương thức Ý nghĩa Size(); Trả về kích thước hiện hành của mảng Resize(int newsi[.]
Bài tập tuần 4- Hàng đợi Ngăn xếp Câu Kiểu vector thư viện chuẩn STL hướng dẫn sử dụng bảng sau: Phương thức Ý nghĩa Size(); Trả kích thước hành mảng Resize(int newsize); Thay đổi kích thước mảng, mảng co lại (kích thước nhỏ cũ) số phần tử bị xoá khỏi hàng push_back(T x) Thêm phần tử x (có kiểu T vào cuối mảng), mảng tự động giãn pop_back(); Xoá phần tử cuối mảng, mảng tự động giảm kích thước bớt phần tử Sử dụng kiểu vector để cài đặt ngăn xếp gồm số nguyên Mã nguồn viết trước phần bảng sau: //stack, Queue #include using namespace std; typedef struct { vector data; } IntStack; void push(IntStack& q, int x); // Đưa phần tử -x- vào stack int pop(IntStack& q); // Xoá phần tử - - khỏi stack bool isempty(IntStack& q); // kiểm tra stack có rỗng Yêu cầu: Hãy viết mã nguồn đầy đủ cho hàm push(), pop(), isempty() theo định nghĩa ngăn xếp Câu Cài đặt cấu trúc liệu trừu tượng hàng đợi (queue) kiểu số nguyên (int) gồm xử lý sau: • enQueue (thêm phần tử vào hàng đợi) • deQueue (lấy phần tử khỏi hàng đợi) • isEmpty (kiểm tra hàng đợi có rỗng khơng) Cài đặt phiên cho cấu trúc liệu trừu tượng hàng đợi: phiên sử dụng mảng động (vector) phiên sử dụng danh sách liên kết đơn (single link list): • Hàng đợi: Đặt tên CdynamicArrayQueue CsinglyLinkedListQueue Cài đặt hàm main() chạy thử chức các cấu trúc liệu cài đặt Câu 3: Đảo ngược danh sách liên kết Ví dụ: Input: -> -> -> -> 10 -> NULL Output : NULL