Stack
ลักษณะของโครงสร้างข้อมูลแบบ Stack
ข้อมูลที่เก็บใน Stack จะเก็บในลักษณะวางทับกัน เช่นเดียวกับการวางจานเรียงซ้อนกัน
ข้อมูลตัวแรกจะเป็นข้อมูลที่อยู่ล่างสุดของ Stack และ ข้อมูลสุดท้ายจะเป็นข้อมูลที่อยู่บนสุด
ของ Stack เมื่อมีการนำข้อมูลออกจาก Stack ข้อมูลที่อยู่บนสุด นั่นคือข้อมูลที่นำลงสู่Stack
เป็นข้อมูลสุดท้าย จะเป็นข้อมูลที่จะต้องนำออกจาก Stack ก่อน การทำงานลักษณะนี้เรียกว่า
LIFO (last-in-first-out)
Operation ของ Stack
1. Push Stack เป็น operation สำหรับนำข้อมูลลงใน Stack
2. Pop Stack เป็น operation สำหรับนำข้อมูลออกจาก Stack
ตัวอย่างการทำงานของ Operation Push และ Pop

Implementation Stack
การ implement Stack ทำได้ 2 วิธี คือ
1. Array Implementation
2. Linked List Implementation
การ implement Stack ทำได้ 2 วิธี คือ
1. Array Implementation
2. Linked List Implementation
Array Implementation
ข้อตกลง
1) กำหนดให้จำนวนข้อมูลสูงสุดคือ N ทั้งนี้เพราะว่าการกำหนด
Array จะต้องระบุจำนวนข้อมูลสูงสุดที่จะเก็บลงใน Array
2) กำหนดให้ตัวแปร Top แทนจำนวนข้อมูลที่มีอยู่ใน Stack
Program
ตัวอย่างโปรแกรมนี้เป็น Stack ของ Integer
ตัวอย่างโปรแกรมนี้เป็น Stack ของ Integer
Pascal | C , C++ |
Procedure Pop ( Var X : Integer ) ; Begin If Top=0 Then Writeln ( " Stack Empty " ) Else Begin X := Stack [ Top ] ; Top := Top - 1 ; End; End; | Pop ( int X ) { if (Top = = 0) printf ( " Stack Empty " ); else { X = Stack [ Top ] ; Top = Top - 1 ; } } |

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