งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack"— ใบสำเนางานนำเสนอ:

1 สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack

2 Stack Structure ประกอบด้วยสมาชิกที่เรียงต่อกันเป็นแถว โดยการนำสมาชิกเข้าและออกจากสแตกจะกระทำที่ด้านปลายหรือด้านบน Top of the stack

3 การดำเนินการของ Stack
การนำสมาชิกเข้าสู่สแตก ข้อมูลจะอยู่ด้านบนเสมอ การนำสมาชิกออกจากสแตก จะต้องนำข้อมูลด้านบนออกก่อน หรือเรียกว่าข้อมูลที่เข้าสแตกก่อนจะออกทีหลังและข้อมูลที่เข้าสแตกทีหลังจะออกก่อน LIFO Last-In , First-out

4 ตัวอย่างการดำเนินการของ Stack
B C C B A A B A C B A B A A ประโยชน์ช่วยจดจำการกระโดดไปมาระหว่างโปรแกรมย่อยและโปรแกรม Recursive

5 การดำเนินการเกี่ยวกับ Stack (Operation on Stack)
**การนำสมาชิกใหม่เข้าสู่ด้านบนสุดของสแตก Push ซึ่งจะต้องใช้ Stack Pointer ชี้ไปยังช่องว่างถัดไปก่อน **การนำสมาชิกออกจากด้านบนสุดของสแตก Pop ซึ่งจะต้องใช้ Stack Pointer ชี้ไปยังตำแหน่งบนสุดก่อน

6 การนำสมาชิกเข้าและออกจากสแตก
Push (Stack,2) Push (Stack,4) Push (Stack,6) Pop (Stack,Item) Push (Stack,7) 2 2 4 2 4 6 2 4 Item = 6 2 Item = 4 2 7

7 การตรวจสอบ Stack Stack ว่าง EmptyStack ถ้าว่างค่าจะเป็น True
ถ้าไม่ว่างค่าจะเป็น False ถ้าทำการลบในขณะที่ Stack ว่างจะเกิด Underflow Stack เต็ม FullStack ถ้าสมาชิกเต็มค่าจะเป็น True ถ้าสมาชิกไม่เต็มค่าจะเป็น False ถ้าเพิ่มในขณะที่ Stack ยังเต็มอยู่จะเกิด Overflow

8 การสร้าง Stack ด้วยภาษาปาสคาล
Const Max = 100; Type Stackltem = char; Stack = record Item : array[1..Max] of Stackltem; Top : 0..Max; End;

9 การนำข้อมูลเข้า Stack ด้วยภาษาปาสคาล
function push(var s:stack; x:Stackltem) : boolean; Begin if s.Top = Max then push := False else begin s.Top := s.Top + 1; s.Item[s.Top] := x; Push := True; End;

10 การนำข้อมูลออกจาก Stack ด้วยภาษาปาสคาล
Function pop(Var s:Stack; Var x:StackItem): boolean; Begin if empty(s) then pop := False else begin X := s.Item[s.Top]; s.Top := S.Top-1; Pop := True; End;

11 การตรวจสอบ Stack ว่างด้วยภาษาปาสคาล
Begin If Top = 0 Then EmptyStack := true; Else EmptyStack := false; End;

12 การตรวจสอบ Stack เต็มด้วยภาษาปาสคาล
Begin If Top = MaxStack Then FullStack := true Else FullStack := false End;


ดาวน์โหลด ppt สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack

งานนำเสนอที่คล้ายกัน


Ads by Google