Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT) là kiểu dữ liệu đặc biệt, hành vi được định nghĩa bởi tập giá trị và tập thao tác. Từ "Abstract" dùng vì ta có thể dùng các kiểu này, thực hiện thao tác, nhưng logic hoạt động bị ẩn khỏi người dùng. ADT được xây dựng từ kiểu dữ liệu nguyên thủy, nhưng logic thao tác bị ẩn.
Dưới đây là các thao tác/hàm của Stack ADT:
- isFull() – Kiểm tra stack có đầy không
- isEmpty() – Kiểm tra stack có rỗng không
- push(x) – Đẩy x vào stack
- pop() – Xóa một phần tử từ đỉnh stack
- peek() – Lấy phần tử đỉnh stack (không xóa)
- size() – Lấy số phần tử trong stack
Ví dụ C++
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> stk;
if(stk.empty()){
cout << "Stack is empty" << endl;
} else {
cout << "Stack is not empty" << endl;
}
// insert elements
stk.push(10);
stk.push(20);
stk.push(30);
stk.push(40);
stk.push(50);
cout << "Size of the stack: " << stk.size() << endl;
// pop and display
while(!stk.empty()){
int item = stk.top(); // same as peek
stk.pop();
cout << item << " ";
}
}
Kết quả
Stack is empty Size of the stack: 5 50 40 30 20 10