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

Ngăn xếp trong C ++ STL (3.5)


Trong C ++ STL, ngăn xếp được sử dụng làm vùng chứa được triển khai dưới dạng cấu trúc LIFO. LIFOmeans Cuối cùng trong lần xuất đầu tiên. Ngăn xếp có thể xem như một chồng sách trong đó các sách được sắp xếp bên trên cuốn sách khác và cuốn sách được chèn cuối cùng sẽ là cuốn sách đầu tiên được lấy ra, đó là lý do tại sao nó được gọi là cấu trúc LIFO.

Ngăn xếp trong C ++ STL (3.5)

Các hoạt động được liên kết với ngăn xếp là -

  • Trên cùng () - Hàm này trả về tham chiếu đến phần tử trên cùng của ngăn xếp.

    Cú pháp - name_of_stack.top ()

    Thông số - Không có tham số

    Giá trị trả lại - Tham chiếu đến phần tử trên cùng của vùng chứa ngăn xếp

  • Đẩy () - Hàm này được sử dụng để chèn phần tử vào vùng chứa ngăn xếp.

    Cú pháp - name_of_stack.push (phần tử)

    Thông số - hàm này đưa phần tử được chèn vào.

    Giá trị trả lại - Nó không trả lại bất cứ thứ gì.

  • Pop () - Hàm này được sử dụng để xóa phần tử khỏi vùng chứa ngăn xếp.

    Cú pháp - name_of_stack.pop ()

    Thông số - Không có tham số

    Giá trị trả lại - Nó loại bỏ phần tử trên cùng của một ngăn xếp và trả lại nó.

  • Kích thước () - Hàm này được sử dụng để tính tổng số phần tử có trong ngăn xếp.

    Cú pháp - name_of_stack.size ()

    Thông số - Không có tham số

    Giá trị trả lại - Nó trả về số phần tử trong một ngăn xếp.

  • Rỗng () - Chức năng này được sử dụng để kiểm tra xem ngăn xếp có trống hay không

    Cú pháp - name_of_stack.empty ()

    Thông số - Không có tham số

    Giá trị trả lại - Nó trả về giá trị Boolean đúng hoặc sai. Đúng khi ngăn xếp trống và sai khi ngăn xếp không trống.

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main(){
   //create a stack container
   stack <int> newStack;
   //insert elements to a stack
   newStack.push(10);
   newStack.push(20);
   newStack.push(30);
   newStack.push(40);
   //check whether the values are pushed in stack or not
   //using empty()
   if(!newStack.empty()){
      //calculate size of a stack
      cout<<"Stack size is: "<< newStack.size();
   }
   else{
      cout<<"Stack is empty";
   }
   cout<<"\nElements in the stack are:";
   while(!newStack.empty()){
      cout<<" "<< newStack.top();
      newStack.pop();
   }
   return 0;
}

Đầu ra

Stack size is: 4
Elements in the stack are: 40 30 20 10