ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน stack::empty() และ stack::size() ใน C++ STL
สแต็คใน C++ STL คืออะไร
สแต็คคือโครงสร้างข้อมูลที่จัดเก็บข้อมูลใน LIFO (เข้าก่อนออกก่อน) ที่เราทำการแทรกและลบจากด้านบนขององค์ประกอบสุดท้ายที่แทรก เช่นเดียวกับกองเพลต หากเราต้องการดันเพลทใหม่เข้าไปในกอง ให้ใส่ที่ด้านบนสุด และถ้าเราต้องการเอาเพลทออกจากกอง เราก็เอาออกจากด้านบนด้วย
stack::empty() คืออะไร
ฟังก์ชัน stack::empty() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ฟังก์ชันตรวจสอบว่าคอนเทนเนอร์ควรว่างเปล่า หมายความว่าขนาดของคอนเทนเนอร์ควรเป็น 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() จะส่งกลับ 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