Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Stack ADT (Kiểu dữ liệu trừu tượng Ngăn xếp) trong cấu trúc dữ liệu


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