วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

05-22-07-2552

สรุปบทเรียน Linked List,Stack
สแตค (Stack)สแตคเป็นโครงสร้างข้อมูลที่มีลักษณะแบบลำดับ (sequential) คือการกระทำกับข้อมูลจะกระทำที่ปลายข้างเดียวกันที่ส่วนปลายสุดของสแตค การกระทำกับข้อมูลของสแตคประกอบไปด้วยการนำเข้าข้อมูลเข้า (PUSH) ที่ส่วนบนสุดของสแตค และการนำข้อมูลออก (POP) ที่ส่วนบนสุดของสแตคเช่นกัน ในการจะ Push ข้อมูลเข้าก็ต้องตรวจสอบด้วยว่าข้อมูลในสแตคเต็มหรือไม่ หากสแตคเต็มก็จะไม่สามารถ Push หรือนำข้อมูลเข้าได้ เช่นเดียวกับการ Pop ข้อมูลออกก็ต้องตรวจสอบด้วยว่ามีข้อมูลอยู่ในสแตคหรือไม่ หากไม่มีข้อมูลอยู่ในสแตคหรือสแตคว่าง (empty stack) ก็ไม่สามารถ pop ได้การนำข้อมูลเข้า-ออก จากสแตค (push , pop) จะมีลักษณะแบบเข้าหลัง ออกก่อน (LIFO : Last In , First Out) คือ ข้อมูลที่เข้าไปในสแตคลำดับหลังสุด จะถูกนำข้อมูลออกจากสแตคเป็นลำดับแรก

การแทนที่ข้อมูลของสแตก มีอยู่ 2 วิธี
1 การแทนที่ข้อมูลของสแตกแบบลิงค์ลิสต์
2 การแทนที่ข้อมูลของสแตกแบบอะเรย์

Stack Topเป็นการคักลอกข้อมูลที่อยู่บนสุดของสแตกโดยไม่มีการลบข้อมูลออกจากสแตก

Empty Stackเป็นการตรวจสอบการว่างของสแตกเพื่อไม่ให้เกิดการผิดพลาดในการนำข้อมูลออกจากสแตกที่เรียกว่า Stack UnderflowFull

Stackเป็นการตรวจสอบว่าสแตกเต็มหรือไม่เพื่อไม่ให้เกิดความผิดพลาดในการนำข้อมูลสแตกที่เรียกว่า Stack Overflow

การประยุกต์ใช้สแตกการประยุกต์ใช้สแตกจะใช้ในงานด้านปฏิบัติการของเครื่องคอมพิวเตอร์ที่ขั้นตอนการทำงานต้องการเก็บข่าวสารอันดับแรกสุดไว้ใช้หลังสุดการทำงานของโปรแกรมที่มีโปรแกรมย่อยการทำงานของโปรแกรมหลักที่เรียกใช้โปรแกรมย่อยและในแต่ละโปรแกรมย่อยก็มีการเรียกใช้โปรแกรมย่อยต่อไปอีกสแตกจะสามารถเข้ามาช่วยในการทำงาน


ตัวอย่างของสแตก คือ "หลอดด้าย" หลอดด้ายที่เป็นม้วนจะมีการพันด้ายเส้นแรกจากด้านใน แล้วเวลาใช้จะต้องใช้เส้นที่อยู่หน้าสุดคือเส้นที่ม้วนเข้าไปที่หลังออกมาใช้ก่อน

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

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