(Stack) - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

(Stack)

Description:

Title: PowerPoint Author: Winyou Niranartlamphong Last modified by: Naitar Created Date: 2/22/2002 6:25:48 AM Document presentation format – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 57
Provided by: WinyouNira6
Category:
Tags: hanoi | stack | tower

less

Transcript and Presenter's Notes

Title: (Stack)


1
????? 3
  • ?????????????????????????
  • (Stack)

2
?????????????????????????
  • ???????????????????????????????????? ? ???
  • ?????????????????????????????????
    ????????????????????????????? ? ?????????????????
  • ????????????????????????? stack
    ??????????????????????????????????
  • ?????????????????????? ??????????????????????????
    ????????????????? (LIFOLast In First Out)

3
???????? Stack
4
???????????????????????????????
Pop
Push
??????? (Stack)
5
?????????????????????????? (Push)
  • ??????????????????????????????????????????????????
    ????????? (Top of the Stack) ?????? ?
    ???????????????????????????????????????????
  • ?????????? ??????????? (Stack Full)

6
???????????????????????
90
Stack Full
4
3
2
1
1. Top 0
Top
0
Stack
2. Top Top 1
3. StackTop
60
10
15
40
7
???????????????????????? (Pop)
  • ???????????????????? Push
  • ???????????????????????????????????
    ??????????????????????????????????????????????????
  • ????????????????????????????????
    ?????????????????? (Stack Empty)
  • ??????????????????????????????????????????????????
    ???????????

8
??????????????????????
Top
60
1. Temp StackTop
40
2. Top Top - 1
Stack Empty
15
10
9
??????????????????????????????????????????????
  • ??????????????????????????????????????????????????
    ? ?????????????????
  • ???????????????????????????????????
    ??????????????????-???????????
  • ???????????? 4 ??????????
  • ????????
  • ??? Push
  • ??? Pop
  • ??? ????

10
???????????????????????????
  • ??????????????????????????????????????????????????
    ???
  • ???????????????? ???
  • int Stack4
  • ???????????????????????????????????????????????
    ??????????????????????????????

Stack
11
?????????????????????????????????????????
  • ??????????????????????????????????????????????????
    Top ????????????????
  • ???????????????? ?????????????????? Top
    ?????????????????????? 0 ?????????

12
Top
I
60
60
40
40
15
15
10
10
13
????????????????????????????????????????????
  • ?????????????????????????????????
  • ???????????????????????????????????????????????
  • ????????????????????????????????????????
    ??????????????? 4 ?????????? ????????, ??? Push,
    ??? Pop ??????????

14
????????????????????????????
  • typedef struct node
  • int data
  • struct node Next
  • node
  • node Top
  • int info
  • ??????????????????? ??????????????????
    ????????????????????

node
Next
15
??????????????????????????????????????
P
1. Top Null
2. New(P)
Top
80

3. Data(p) 80
4. Next(p) Null
5. Top p
16
??????????????????????????????????????
Top
P
90
Top
80
  • ??????????? 90 ?????????????????

1. New(P)
2. Data(P) 90
3. Next(P) Top
4. Top p
17
??????????????????????????????????????
Top
P
120
Top
90
80

1. New(P)
3. Next(P) Top
2. Data(P) 120
4. Top p
18
?????????????????????????????????????
Temp
Top
Top
80

90
1. TempTop
2. Top Next(Top)
19
?????????????????????????????????????
Temp
Top
Top

80
1. TempTop
2. Top Next(Top)
20
?????????????????????????????????????
Temp
Top NULL
Top
1. TempTop
2. Top Next(Top)
21
?????????????????????????????????????
Stack Empty
Top NULL
1. TempTop
22
??????????????????????????????????????????
P
P
P
120
80

120
Top
90
90
80
23
?????????????????????
  • include stdio.h
  • include conio.h
  • showmenu()
  • printf( Menu \n)
  • printf(1.Push Data \n)
  • printf(2.Pop Data \n)
  • printf(3.Display Data \n)
  • printf(4.Exit \n)
  • printf(Select )
  • Main()
  • int element,Top, ch
  • int st4
  • while ( ch ! 4)
  • clrscr() showmenu()
  • scanf(d,ch)
  • if (ch 1)
  • ?????????? ??? 4.5
  • else if (ch 2)
  • ?????????? ??? 4.6
  • else if (ch 3)
  • ?????????? ??? 4.7

24
???????????????????????????????????????
  • ??????????????????????????
  • ????????????????????????????
  • Factorial
  • The Towers of Hanoi Problem
  • ???????????????????????????

25
??????????????????????
1500
1000
Stack
26
Factorial
  • ???????????????????????????? n!
  • 0! 1
  • 1! 1
  • 2! 2 x 1
  • 3! 3 x 2 x 1
  • n! n x (n-1) x (n-2) x x 2 x 1

27
3!
Push
4
3! 3 2!
2! 2 1!
3
1
1! 1 0!
Pop
2
2
0! 1
1
3
1! 1 1
Top
0
Stack
2! 2 1
3! 3 2
28
Tower Of Hanoi
  • ???????????? 3 ??? ???? (?) (?) (?)
  • ?????????????????? (?) ????????????????????
    ?????????????????????????????????????????
  • ????????????????? (?) ?????????????? 1 ????

?
?
?
29
Tower of Hanoi
30
Tower of Hanoi
31
Tower of Hanoi
32
Tower of Hanoi
33
???????????????????????????
????????????
???????????????
???????????????
  • 10 20

34
???????????????????????????
  • ???????????????????????????????????????????
  • Infix Expression ???? A B
  • Postfix Expression ???? AB

35
????????????? Infix ???? Postfix
  1. ????? stack ????
  2. ?????????? Infix ????????????????????????????
  3. ???????????????????? ??????????????? ??????????
    Postfix

36
????????????? Infix ???? Postfix
  • 4.???????????????????? ???????????? ?????????????
  • - ??????????? ?????????????????????????????????
  • - ?????????????? ????????????????????????????????
    ??????????
  • ???????????????????????? lt
    ????????????????? Stack ??????????????????????????
    ??????????
  • ???????????????????????? gt ?????????????????
    ??????????????????????? Stack

37
????????????? Infix ???? Postfix
  • 5. ???????????????????? ( ?????????????? Stack
  • 6. ??????? ) ??????????????????? Stack
    ?????????????? ( ?????????????????
  • 7. ??????????? 2 ???????????????????????????
  • 8. ??????????????????????? ???????????? ??????
    Stack ??????

38
A B
??????????? Stack ?????? Postfix
A B ???? A A AB AB
39
A B C
??????????? Stack ?????? Postfix
A B C ???? , , A A AB AB ABC ABC
40
(A B) C
??????????? Stack ?????? Postfix
( A B ) C ( ( ( ( ???? ???? A A AB AB AB ABC ABC
41
((AB)C) - D
ABCD-
42
101520/6
10,15,20 6/
43
10/(23)(56)9
10,2,3 /5,6 9
44
  • ????????????????????????

45
????????????????????????(Queue)
  • ????????????
  • ???????????????????
  • ????????????????????????
  • ??????????????? ATM
  • ????????????? ? ????? print ???????????????

46
5.1?????????????????????????????????
  • ?????????????????????????? Stack
  • ??????????????????????????????????????????????????
    ?????????
  • ???????????????????????????????????????? (Rear)
  • ??????????????????????????????????
  • ????????????????? ?????????? ????????? (FIFO)

47
????????

Rear
Front
48
5.1.1 ???????????????
  • ??????????????????????????? ?????????????????????
  • ??????????????????? ? ?????? ????????????
    ?????????? (Queue Overflow)

49
5.1.2 ??????????????
  • ???????????????????????????????????????????????
  • ??????????????????????? ? ?????????????
    ???????????? ?????????? (Queue Underflow)

50
5.2?????????????????????Queue ???? Array
  • ??????????????????? 4 ??????????
  • ????????
  • ???????????????
  • ??????????????
  • ?????????????

51
5.2.1 ????????
  • ?????????????????????????????????????????
    ?????????????????????????? ? ?????????????????????
    ????????????
  • ???????????????? 2 ?????? F ??? R
  • ?????????????? ????
  • int Queue4
  • int F,R

52
5.2.2 ???????????????
Queue Overflow
50
F
R
1 2 3 4

1.New Q(n)
4.RR1
2.FR
3.Q(R)
10
20
30
40
53
5.2.3 ??????????????
Y
F
R
1 2 3 4

40
30
20
10
3. IF FR THEN F0,R0
1.YQ(F)
2.FF1
54
5.3 ?????????????????????????????????????????????
?
  • ????????? 4 ?????????????
  • ????????
  • ???????????????
  • ??????????????
  • ?????????????

55
5.3.1 ????????
  • ?????????????????????????????? 2 ?????? F ??? R
    ??????
  • typedef struct node
  • int data
  • struct node next
  • node
  • node F, R

56
5.4 ???????????????????????
Write a Comment
User Comments (0)
About PowerShow.com