สแตก (Stack) เป็นโครงสร้างข้อมูลที่ ข้อมูลแบบลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า การ
เพิ่มหรือลบข้อมูลในสแตก จะกระทำที่ ปลาย ข้างเดียวกัน ซึ่งเรียกว่า Top ลักษณะที่
เพิ่มหรือลบข้อมูลในสแตก จะกระทำที่ ปลาย ข้างเดียวกัน ซึ่งเรียกว่า Top ลักษณะที่
สำคัญของสแตก คือ ข้อมูลที่ใส่หลังสุดจะถูกนำออกมา จากส แตกเป็นลำดับแรกสุด
เรียกคุณสมบัตินี้ว่า LIFO (Last In First Out)
การทำงานของสแตกจะประกอบด้วย กระบวนการ 3 กระบวนการที่สำคัญ คือ
1.Push คือ การนำข้อมูลใส่ลงไปในสแตก เช่น สแตก s ต้องการใส่ข้อมูล i ใ
นสแตก จะได้ push (s,i) คือ ใส่ข้อมูล i ลงไปที่ทอปของสแตก s
2. Pop คือ การนำข้อมูลออกจากส่วนบนสุด ของสแตก เช่น ต้องการนำข้อมูล
ออกจากสแตก s ไปไว้ที่ตัวแปร i จะได้ i = pop (s)
3. Stack Top เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำเอา
3. Stack Top เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำเอา
ข้อมูลนั้นออกจากสแตก
การแทนที่ข้อมูลของสแตก สามารถทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์
การแทนที่ข้อมูลของสแตก สามารถทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์
2. การแทนที่ข้อมูลของสแตกแบบอะเรย
ตัวอย่าง สแตกในชีวิตประจำวัน
การม้วนทับกันของเส้นด้าย ถ้าเราจะใช้เส้นได้เข็บอะไร
เราก็ต้องดึงเส้นด้ายจากด้านนอกก่อนไม่สามารถดึงด้ายจากเส้นที่อยู่ในสุดได้ก่อน
การใช้เทปใส เราจะดึงส่วนที่อยู่รอบนอกสุดมากใช้ก่อน ไม่สามารถดึงส่วนที่อยู่ในสุดมาใช้ก่อน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น