ในการวนรับค่าตัวเลขจากคีย์บอร์ด เก็บค่าโดยใช้ Stack แล้วนำค่าที่ได้จาก Stack แสดงผลออกจอภาพ
ก่อนอื่นขอแนะนำหลักการหรือวิธีการทำงานของของ Stack ก่อนคร่าว ๆ โดยจำง่าย ๆ คือ เข้าก่อนออกที่หลัง เข้าที่หลังออกก่อน
ตัวอย่างโค้ด
มองภาพอาจจะไม่ชัดนะครับ ลองมาดู
SOURCE CODE ดีกว่าครับ
#include <iostream>
#include <stack>
using namespace std;
int main ()
{
stack<int> mystack;
int i = 0;
int temp;
do{
cout << “Push number to Stack ” << (i+1) << ” : ” ;
cin >> temp;
mystack.push(temp);
i++;
}while(i < 5);
cout << “\n”;
while (!mystack.empty()){
cout << “Pop number out Stack ” << i << ” : ” << mystack.top();
cout << “\n”;
mystack.pop();
i–;
}
cout << “\n”;
system(“pause”);
return 0;
}
- ต้องทำการ #include <stack> ถึงจะเรียกใช้ stack ได้
- push() คือ เพิ่มค่าเข้าไปใน Stack
- empty() คือ เช็คว่า Stack เป็นค่าว่างหรือยัง
- top() คือ ดูว่าค่าที่อยู่บนสุดของ Stack คืออะไร
- pop() คือ นำค่าที่อยู่บนสุดของ Stack ออก
หน้าจอแสดงผลนะครับ
หากยังไม่เข้าใจ ลองมาดูใน vdo ที่ผมจัดทำขึ้นดูนะครับ อาจจะทำให้เข้าใจได้ไม่มากก็น้อยครับ