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

ngăn xếp trống () và kích thước ngăn xếp () 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à các ví dụ của hàm stack ::blank () và stack ::size () 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ừ đầu 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, thì chúng ta cũng lấy nó ra từ trên cùng.

Ngăn xếp ::trống () là gì?

Hàm stack ::blank () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . rỗng () được sử dụng để kiểm tra xem vùng chứa được liên kết có trống hay không và trả về true hoặc false tương ứng.

Hàm kiểm tra vùng chứa phải trống có nghĩa là kích thước của vùng chứa phải bằng 0.

Cú pháp

stack_name.empty();

Tham số

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

Giá trị trả về

Hàm này trả về true nếu vùng chứa trống, ngược lại là false.

Đầu vào

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

Đầu ra

false

Đầu vào

std::stack<int> stack2;
stack2.empty();

Đầu ra

true

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();
      stck.pop();
   }
   cout<<"\nProduct of elements in stack are: "<<Product;
   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 -

Product of elements in stack are: 720

stack ::size () là gì?

Hàm stack ::size () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . size () được sử dụng để kiểm tra kích thước của vùng chứa được liên kết và trả về kết quả dưới dạng giá trị số nguyên, là số phần tử trong vùng chứa.

Nếu vùng chứa trống, kích thước () trả về 0

Cú pháp

stack_name.size();

Tham số

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

Giá trị trả về

Hàm này trả về kích thước của vùng chứa

Đầu vào

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

Đầu ra

3

Đầu vào

std::stack<int> stack2;
stack2.size();

Đầu ra

0

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);
   cout<<"size of stack is: "<<stck.size();
   while (stck.size()>0){
      Product = Product * stck.top();
      stck.pop();
   }
   cout<<"\nProduct of elements in stack are: "<<Product;
   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
Product of elements in stack are: 720