ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน 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