วันอังคารที่ 4 สิงหาคม พ.ศ. 2552

DTS06-28-07-2552

STACK (ต่อ)
การแทนที่ของข้อมูลในแบบของสแตกทำได้ 2 วิธี คือ

1. แบบ Linked list
2.แบบ Array

การแทนที่แบบ linked list จะประกอบด้วย 2 ส่วน คือ Head node , Data node

Head node



Data node

การดำเนินการเกี่ยวกับ สแตกใน linked list

1. Creat stack การสร้างสแตกว่าง ๆ ขึ้นมา

2. Push stack การเพิ่มข้อมูลลงไปในสแตก

3. Pop stack การนำเอาข้อมูลที่อยู่บนสุดออกมาจากสแตก แต่การ pop ไม่ได้บอกตำแหน่งเอาออกมา อย่างเดียว

4. stack top การ copy ข้อมูลที่อยู่บนสุดของสแตก

5. Empty stack ตรวจสอบการว่างของสแตก เพื่อลดความผิดพลาดในการ pop ข้อมูลออกมา และความผิดพลาดที่เกิดขึ้น เรียกว่า Stack Underflow

6. Full stack คือ สแตกที่เต็มแล้ว หรือที่เรียกว่า Stack overflow

7. Stack count เป็นการนับสแตก นับจำนวนสมาชิกที่มีอยู่ในสแตกนั้นๆ มีกี่จำนวนเท่าไหร่

8. Destroy stack เมื่อมีการสร้างก็ต้องมีการลบสแตก ทำให้มีการลดลงของข้อในสแตก

การแทนที่ของสแตกแบบ Array

มีการดำเนินการทั้งหมดเหมือนกับ linked list แต่จะมีการทำงานในแบบของ Array มีเครื่องหมาย ( ) มีส่วนเกี่ยวข้อง และเริ่มต้นข้อมูลที่ 0 การจุของข้อมูลที่มากที่สุดดูที่ Stack Max และมีเส้นเสมือนเป็นเส้นชี้ค่าที่มากที่สุดของ Stack

เมื่อมีการสร้าง จะเริ่มจาก 0 และเมื่อมีการ Push จะให้ค่า top เป็น -1 เพราะว่า เพื่อค่าของ Arrayตัวแรกจะได้มีค่าเป็น 0 เมื่อ -1+1

การประยุกต์

ใช้ในการคำนวณค่านิพจน์ทางคณิตศาสตร์ เช่น

A+B-D , A-B*C/B

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

ข้อมูลข่าวสาร , เอกสารที่มีความสำคับ

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

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