สแตก (Stack) เป็นโครงสร้างข้อมูลที่ข้อมูลแบบลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า การเพิ่มหรือลบข้อมูลในสแตก จะกระทำที่ ปลายข้างเดียวกัน ซึ่งเรียกว่า Top ของสแตก (TopOf Stack) และ ลักษณะที่สำคัญของสแตกคือ ข้อมูลที่ใส่หลังสุดจะถูกนำออกมา จากสแตกเป็นลำดับแรกสุด หรือที่เรียกว่า เข้าก่อน ออกหลัง เรียกคุณสมบัตินี้ว่าLIFO (Last In First Out)
กระบวนการทำงานของ สแตก นั้น จะมีอยู่ 3 กระบวนการ คือ
1. Push คือ การนำข้อมูลใส่ลงไปในสแตก
2. Pop คือ การนำข้อมูลออกจากส่วนบนสุดของสแตก
3. Stack Top เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำเอาข้อมูลนั้นออกจากสแตก
การดำเนินการเกี่ยวกับสแตก ได้แก่
1. Create Stack -จะเป็นการ จัดสรรหน่วยความจำให้แก่ Head Nodeและส่งค่าตำแหน่งที่ชี้ไปยัง Head ของสแตกกลับมา
2. Push Stack -จะเป็นการเพิ่มข้อมูลลงไปในสแตก
3. Pop Stack -จะเป็นการนำข้อมูลบนสุดออกจากสแตก
4. Stack Top -จะเป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก โดยไม่มีการลบข้อมูลออกจากสแตก
5.Empty Stack -จะเป็นการตรวจสอบการว่างของสแตก เพื่อไม่ให้เกิดความผิดพลาดในการนำข้อมูลออกจากสแตกที่เรียกว่า Stack Underflow
6. Full Stack -จะเป็นการตรวจสอบว่าสแตกเต็มหรือไม่ เพื่อไม่ให้เกิดความผิดพลาดในการนำข้อมูลเข้าสแตกที่เรียกว่า Stack Overflow
7. Stack Count -จะเป็นการนับจำนวนสมาชิกในสแตก
8. Destroy Stack -จะเป็นการลบข้อมูลทั้งหมดที่อยู่ในสแตก
ไม่มีความคิดเห็น:
แสดงความคิดเห็น