ประเภทข้อมูลนามธรรมเป็นชนิดข้อมูลพิเศษ ซึ่งพฤติกรรมถูกกำหนดโดยชุดของค่าและชุดของการดำเนินการ มีการใช้คำหลัก "บทคัดย่อ" เนื่องจากเราสามารถใช้ประเภทข้อมูลเหล่านี้ เราสามารถดำเนินการต่างๆ ได้ แต่การดำเนินการเหล่านั้นทำงานอย่างไรซึ่งถูกซ่อนจากผู้ใช้โดยสิ้นเชิง ADT ประกอบด้วยประเภทข้อมูลดั้งเดิม แต่ตรรกะการทำงานถูกซ่อนไว้
ที่นี่เราจะเห็นกอง ADT นี่เป็นการดำเนินการหรือฟังก์ชันบางอย่างของ Stack ADT
- isFull() ใช้ตรวจสอบว่า stack เต็มหรือไม่
- isEmpry() ใช้ตรวจสอบว่า stack ว่างหรือไม่
- push(x) ใช้สำหรับผลัก x เข้าไปใน stack
- pop() ใช้เพื่อลบหนึ่งองค์ประกอบออกจากด้านบนของสแต็ก
- peek() ใช้เพื่อรับองค์ประกอบสูงสุดของสแต็ก
- size() ฟังก์ชันนี้ใช้เพื่อรับจำนวนองค์ประกอบที่มีอยู่ในสแต็ก
ตัวอย่าง
#include<iostream>
#include<stack>
using namespace std;
main(){
stack<int> stk;
if(stk.empty()){
cout << "Stack is empty" << endl;
} else {
cout << "Stack is not empty" << endl;
}
//insert elements into stack
stk.push(10);
stk.push(20);
stk.push(30);
stk.push(40);
stk.push(50);
cout << "Size of the stack: " << stk.size() << endl;
//pop and dispay elements
while(!stk.empty()){
int item = stk.top(); // same as peek operation
stk.pop();
cout << item << " ";
}
} ผลลัพธ์
Stack is empty Size of the stack: 5 50 40 30 20 10