วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552

DTS 05-22/07/52

สรุปเรื่อง Stack

สแตก (Stack) เป็นโครงสร้างข้อมูลที่ ข้อมูลแบบลิเนียร์ลิสต์ ที่มีคุณสมบัติที่ว่า การ
เพิ่มหรือลบข้อมูลในสแตก จะกระทำที่ ปลาย ข้างเดียวกัน ซึ่งเรียกว่า 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 เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตก แต่ไม่ได้นำเอา
ข้อมูลนั้นออกจากสแตก
การแทนที่ข้อมูลของสแตก สามารถทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์
2. การแทนที่ข้อมูลของสแตกแบบอะเรย
ตัวอย่าง สแตกในชีวิตประจำวัน
การม้วนทับกันของเส้นด้าย ถ้าเราจะใช้เส้นได้เข็บอะไร
เราก็ต้องดึงเส้นด้ายจากด้านนอกก่อนไม่สามารถดึงด้ายจากเส้นที่อยู่ในสุดได้ก่อน
การใช้เทปใส เราจะดึงส่วนที่อยู่รอบนอกสุดมากใช้ก่อน ไม่สามารถดึงส่วนที่อยู่ในสุดมาใช้ก่อน

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

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