วันศุกร์ที่ 9 ตุลาคม พ.ศ. 2552

DTS06-04-08-2009

สแตก (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 -จะเป็นการลบข้อมูลทั้งหมดที่อยู่ในสแตก

ไม่มีความคิดเห็น:

แสดงความคิดเห็น