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

Stack


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 ทำได้ วิธี คือ
   1. Array Implementation
   2.
 Linked List Implementation
Array Implementation
     ข้อตกลง
     1) กำหนดให้จำนวนข้อมูลสูงสุดคือ ทั้งนี้เพราะว่าการกำหนด
          Array จะต้องระบุจำนวนข้อมูลสูงสุดที่จะเก็บลงใน Array
     2) กำหนดให้ตัวแปร Top แทนจำนวนข้อมูลที่มีอยู่ใน Stack
Program
                    ตัวอย่างโปรแกรมนี้เป็น 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 ;
                }
}

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

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