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

ngăn xếp push () và pop () trong C ++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của hàm stack ::push () andstack ::pop () trong C ++ STL.

Stack trong C ++ STL là gì?

Ngăn xếp là cấu trúc dữ liệu lưu trữ dữ liệu trong LIFO (Last In First Out), nơi chúng ta chèn và xóa từ trên cùng của phần tử cuối cùng được chèn vào. Giống như một chồng đĩa, nếu chúng ta muốn đẩy một đĩa mới vào ngăn xếp, chúng ta sẽ chèn ở trên cùng và nếu chúng ta muốn lấy đĩa ra khỏi chồng, chúng ta cũng lấy nó ra từ trên cùng.

stack ::push () là gì?

Hàm stack ::push () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . push () được sử dụng để đẩy hoặc chèn một phần tử ở trên cùng của ngăn xếp. Nội dung của phần tử mới được sao chép và khởi tạo.

Cú pháp

stack_name.push(value_type& val);

Tham số

Hàm chấp nhận (các) tham số sau -

  • val - Giá trị mà chúng tôi muốn thúc đẩy

Giá trị trả về

Hàm này không trả về gì

Đầu vào

std::stack<int> stack1;
stack1.push(1);
stack1.push(2);
stack1.push(3);

Đầu ra

3 2 1

Ví dụ

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int>stck;
   int Product = 1;
   stck.push(1);
   stck.push(2);
   stck.push(3);
   stck.push(4);
   stck.push(5);
   stck.push(6);
   while (!stck.empty()){
      Product = Product * stck.top();
      cout<<"\nsize of stack is: "<<stck.size();
      stck.pop();
   }
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

size of stack is: 6
size of stack is: 5
size of stack is: 4
size of stack is: 3
size of stack is: 2
size of stack is: 1

stack ::pop () là gì?

Hàm stack ::pop () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . pop () được sử dụng để bật hoặc xóa một phần tử khỏi đầu vùng chứa ngăn xếp. Nội dung từ trên cùng bị xóa và kích thước của vùng chứa giảm đi 1.

Cú pháp

stack_name.pop();

Tham số

Hàm không chấp nhận (các) tham số -

Giá trị trả về

Hàm này không trả về gì

Đầu vào

std::stack<int> stack1;
stack1.push(1);
stack1.push(2);
stack1.push(3);
stack1.pop();

Đầu ra

2 1

Ví dụ

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int>stck;
   int Product = 1;
   stck.push(1);
   stck.push(2);
   stck.push(3);
   stck.push(4);
   stck.push(5);
   stck.push(6);
   while (!stck.empty()){
      Product = Product * stck.top();
      cout<<"\nsize of stack is: "<<stck.size();
      stck.pop();
   }
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

size of stack is: 6
size of stack is: 5
size of stack is: 4
size of stack is: 3
size of stack is: 2
size of stack is: 1