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

stack push() และ pop() ใน C++ STL


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

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

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

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

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

ไวยากรณ์

stack_name.push(value_type& val);

พารามิเตอร์

ฟังก์ชันยอมรับพารามิเตอร์ต่อไปนี้ −

  • วาล − คุณค่าที่เราต้องการผลักดัน

คืนค่า

ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด

อินพุต

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

ผลผลิต

3 2 1

ตัวอย่าง

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

ผลลัพธ์

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

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() คืออะไร

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

ไวยากรณ์

stack_name.pop();

พารามิเตอร์

ฟังก์ชันไม่ยอมรับพารามิเตอร์ -

คืนค่า

ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด

ป้อนข้อมูล

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

ผลลัพธ์

2 1

ตัวอย่าง

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

ผลลัพธ์

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

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