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

Cấu trúc dữ liệu Xếp chồng các hoạt động ban đầu

Stack là cấu trúc dữ liệu Last In First Out. Ngăn xếp được sử dụng trong các lĩnh vực khác nhau để đánh giá các biểu thức, gọi và chiến lược đệ quy, v.v. Ngăn xếp có một số hoạt động nguyên thủy. Ở đây chúng ta sẽ thấy các hoạt động đó của ngăn xếp và xem một ví dụ sử dụng ngăn xếp ADT.

ADT (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 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