Queue-Stack

Hàng đợi (Queue)

Nguyên lý tổ chức hàng đợi là: phần tử nào được nạp vào hàng đợi trước thì được xử lý trước.

Trong C++ đã xây dựng sẵn lớp mẫu queue, sử dụng rất thuận tiện.

Khai báo thư viện:

#include <queue>

Khai báo tên biến:

queue<kiểu dữ liệu> tên biến;

Ví dụ: queue <int> Q;

Sau khi khai báo biến Q là một hàng đợi, có thể sử dụng các hàm sau:

Q.push(x);   // Thủ tục nạp số nguyên x vào cuối hàng đợi

Q.front();   // Hàm trả về (lấy ra) phần tử ở đầu hàng đợi

Q.pop();    // Thủ tục xóa phần tử đầu hàng đợi

Q.empty();  // Hàm kiểm tra hàng đợi đã rỗng hay chưa

Q.back();    // Hàm trả về phần tử cuối hàng đợi (ít dùng)

Ngăn xếp (Stack)

Nguyên lý tổ chức ngăn xếp là: phần tử nào được nạp vào ngăn xếp sau thì sẽ được xử lý trước, điều này ngược với nguyên lý tổ chức của hàng đợi.

Trong C++ đã xây dựng sẵn lớp mẫu ngăn xếp (Stack).

Để sử dụng ngăn xếp, khai báo thư viện:

#include <stack>

Khai báo biến kiểu ngăn xếp:

stack <kiểu_phần_tử> tên_biến;

Ví dụ: stack <int> S; // Khai báo S là ngăn xếp chứa các phần tử số nguyên

Sau khi khai báo biến S kiểu ngăn xếp, có thể sử dụng các hàm sau:

S.push(x);  // Thủ tục nạp x vào ngăn xếp S

S.top();           // Hàm trả về một phần tử ở đầu ngăn xếp

S.empty();        // Hàm kiểm tra ngăn xếp rỗng

S.pop();      // Giảm chiều cao của ngăn xếp 1 đơn vị (coi như xóa đi phần tử ở đỉnh ngăn xếp).

S.size();   // Trả về số phần tử trong ngăn xếp

Chú ý. Trong lớp mẫu stack, hàm pop() không trả về phần tử tại đỉnh stack, mà chỉ giảm chiều cao stack (coi như loại bỏ phần tử này). Điều này khác biệt với top() lấy ra giá trị phần tử ở đầu ngăn xếp (nhưng chưa loại bỏ phần tử này).

Chia sẻ:

Thích bài này:

Thích

Đang tải…