Computer >> Máy Tính >  >> Lập trình >> Lập trình

Stack ADT trong cấu trúc dữ liệu

Kiểu dữ liệu trừu tượng là loại kiểu dữ liệu đặc biệt, có hành vi được xác định bởi một tập hợp các giá trị và tập hợp các hoạt động. Từ khóa “Abstract” được sử dụng vì chúng ta có thể sử dụng các kiểu dữ liệu này, chúng ta có thể thực hiện các thao tác khác nhau. Nhưng những hoạt động đó hoạt động như thế nào thì hoàn toàn bị ẩn với người dùng. ADT được tạo bằng các kiểu dữ liệu nguyên thủy, nhưng lôgic hoạt động bị ẩn.

Ở đây chúng ta sẽ thấy ngăn xếp ADT. Đây là một vài thao tác hoặc chức năng của Stack ADT.

  • isFull (), được sử dụng để kiểm tra xem ngăn xếp đã đầy hay chưa
  • isEmpry (), được sử dụng để kiểm tra xem ngăn xếp có trống hay không
  • push (x), được sử dụng để đẩy x vào ngăn xếp
  • pop (), được sử dụng để xóa một phần tử khỏi đầu ngăn xếp
  • peek (), được sử dụng để lấy phần tử cao nhất của ngăn xếp
  • size (), hàm này được sử dụng để nhận số phần tử có trong ngăn xếp

Ví dụ

#include<iostream>
#include<stack>
using namespace std;
main(){
   stack<int> stk;
   if(stk.empty()){
      cout << "Stack is empty" << endl;
   } else {
      cout << "Stack is not empty" << endl;
   }
   //insert elements into stack
   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 dispay elements
   while(!stk.empty()){
      int item = stk.top(); // same as peek operation
      stk.pop();
      cout << item << " ";
   }
}

Đầu ra

Stack is empty
Size of the stack: 5
50 40 30 20 10