ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยBanjong Pibul ได้เปลี่ยน 10 ปีที่แล้ว
1
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top of Stack) เรียกว่าตัวชี้สแตก(Stack Pointer) มีรูปแบบเป็น Top(Y)
2
ให้ Y เป็นสแตกเก็บค่าตัวเลขได้ไม่เกิน 6 ตัว
Push(‘2’),Push(‘5’),Push(‘3’) Pop(),Push(‘9’), Push(‘0’) Push(‘4’) Push(‘6’),Pop()
3
เริ่มต้นจากการสร้างสแตก Yขึ้นมาทำงานจำได้สแตกว่าง ไม่มีสมาชิกโดยตัวชี้สแตก Top ยังไม่มีค่า
4
นำค่า 2 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘2’) สแตก Y=[2]
ตัวชี้สแตก Top = 2 Top
5
นำค่า 5 เก็บต่อโดยใช้ Push(‘5’) สแตก Y=[2,5]
ตัวชี้สแตก Top = 5 Top
6
นำค่า 3 เก็บต่อโดยใช้ Push(‘3’) สแตก Y=[2,5,3] ตัวชี้สแตก Top = 3
7
ต้องการดึงค่าออกมาโดยใช้Pop()
2 5 ต้องการดึงค่าออกมาโดยใช้Pop() สแตก Y=[2,5] ตัวชี้สแตก Top = 5 Top
8
นำค่า 9 เก็บต่อโดยใช้ Push(‘9’) สแตก Y=[2,5,9] ตัวชี้สแตก Top = 9
9
นำค่า 0 เก็บต่อโดยใช้ Push(‘0’) สแตก Y=[2,5,9,0] ตัวชี้สแตก
นำค่า 0 เก็บต่อโดยใช้ Push(‘0’) สแตก Y=[2,5,9,0] ตัวชี้สแตก Top = 0 Top
10
นำค่า 4 เก็บต่อโดยใช้ Push(‘4’) สแตก Y=[2,5,9,0,4] ตัวชี้สแตก
4 นำค่า 4 เก็บต่อโดยใช้ Push(‘4’) สแตก Y=[2,5,9,0,4] ตัวชี้สแตก Top = 4 Top
11
นำค่า 6 เก็บต่อโดยใช้ Push(‘6’) สแตก Y=[2,5,9
4 6 นำค่า 6 เก็บต่อโดยใช้ Push(‘6’) สแตก Y=[2,5,9 0,4,6] ตัวชี้สแตก Top = 6 Top
12
ต้องการดึงค่าออกมาโดยใช้Pop()
2 5 9 4 ต้องการดึงค่าออกมาโดยใช้Pop() สแตก Y=[2,5,9,0,4] ตัวชี้สแตก Top = 4 Top
13
อัลกอริทึมการแปลงนิพจน์แบบ Infix เป็นแบบ Postfix โจทย์
10+5-(8/2)*3
14
10+5-(8/2)*3 ผลลัพธ์ Stack
15
10+5-(8/2)*3 ผลลัพธ์ 10 Stack
16
10+5-(8/2)*3 ผลลัพธ์ 10 + Stack
17
10+5-(8/2)*3 ผลลัพธ์ 10 5 + Stack
18
10+5-(8/2)*3 ผลลัพธ์ 10 5 - + Stack
19
10+5-(8/2)*3 ผลลัพธ์ 10 5 ( - + Stack
20
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 ( - + Stack
21
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 / ( - + Stack
22
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / ( - + Stack
23
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / ( - + Stack
24
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / - + Stack
25
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / * - + Stack
26
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack
27
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack
28
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack
29
คำตอบที่ได้จะอยู่ที่ผลลัพธ์
10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + คำตอบที่ได้จะอยู่ที่ผลลัพธ์ Stack
30
การหาคำตอบจากการคำนวณนิพจน์ Postfix
โจทย์ 78*2/4-
31
78*2/4- ผลลัพธ์ Stack
32
78*2/4- ผลลัพธ์ 7 Stack
33
78*2/4- ผลลัพธ์ 8 7 Stack
34
78*2/4- ผลลัพธ์ 7 * 8 Stack
35
78*2/4- ผลลัพธ์ 56 Stack
36
78*2/4- ผลลัพธ์ 2 56 Stack
37
78*2/4- ผลลัพธ์ 56 / 2 Stack
38
78*2/4- ผลลัพธ์ 28 Stack
39
78*2/4- ผลลัพธ์ 4 28 Stack
40
78*2/4- ผลลัพธ์ 28 - 4 Stack
41
คำตอบที่ได้อยู่ที่สแตก
78*2/4- ผลลัพธ์ คำตอบที่ได้อยู่ที่สแตก 24 Stack
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.