Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

stack empty() และ stack size() ใน C++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน stack::empty() และ stack::size() ใน C++ STL

สแต็คใน C++ STL คืออะไร

สแต็คคือโครงสร้างข้อมูลที่จัดเก็บข้อมูลใน LIFO (เข้าก่อนออกก่อน) ที่เราทำการแทรกและลบจากด้านบนขององค์ประกอบสุดท้ายที่แทรก เช่นเดียวกับกองเพลต หากเราต้องการดันเพลทใหม่เข้าไปในกอง ให้ใส่ที่ด้านบนสุด และถ้าเราต้องการเอาเพลทออกจากกอง เราก็เอาออกจากด้านบนด้วย

stack::empty() คืออะไร

ฟังก์ชัน stack::empty() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว empty() ใช้เพื่อตรวจสอบว่าคอนเทนเนอร์ที่เกี่ยวข้องว่างเปล่าหรือไม่และคืนค่าจริงหรือเท็จตามลำดับ

ฟังก์ชันตรวจสอบว่าคอนเทนเนอร์ควรว่างเปล่า หมายความว่าขนาดของคอนเทนเนอร์ควรเป็น 0

ไวยากรณ์

stack_name.empty();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

คืนค่า

ฟังก์ชันนี้จะคืนค่า จริง หากคอนเทนเนอร์ว่างเปล่า มิฉะนั้น จะเป็นเท็จ

ป้อนข้อมูล

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

ผลผลิต

false

ป้อนข้อมูล

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

ผลผลิต

true

ตัวอย่าง

#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;
}

ผลลัพธ์

ถ้าเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

Product of elements in stack are: 720

stack::size() คืออะไร

ฟังก์ชัน stack::size() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว size() ใช้เพื่อตรวจสอบขนาดของคอนเทนเนอร์ที่เกี่ยวข้องและส่งคืนผลลัพธ์เป็นค่าจำนวนเต็ม ซึ่งเป็นจำนวนองค์ประกอบในคอนเทนเนอร์

หากคอนเทนเนอร์ว่างเปล่า size() จะส่งกลับ 0

ไวยากรณ์

stack_name.size();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

คืนค่า

ฟังก์ชันนี้จะคืนค่าขนาดของคอนเทนเนอร์

ป้อนข้อมูล

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

ผลผลิต

3

ป้อนข้อมูล

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

ผลผลิต

0

ตัวอย่าง

#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;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

size of stack is: 6
Product of elements in stack are: 720