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 ?????????
12Top
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
26Factorial
- ???????????????????????????? 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
273!
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
28Tower Of Hanoi
- ???????????? 3 ??? ???? (?) (?) (?)
- ?????????????????? (?) ????????????????????
????????????????????????????????????????? - ????????????????? (?) ?????????????? 1 ????
?
?
?
29Tower of Hanoi
30Tower of Hanoi
31Tower of Hanoi
32Tower of Hanoi
33???????????????????????????
????????????
???????????????
???????????????
34???????????????????????????
- ???????????????????????????????????????????
- Infix Expression ???? A B
- Postfix Expression ???? AB
35????????????? Infix ???? Postfix
- ????? stack ????
- ?????????? Infix ????????????????????????????
- ???????????????????? ??????????????? ??????????
Postfix
36????????????? Infix ???? Postfix
- 4.???????????????????? ???????????? ?????????????
- - ??????????? ?????????????????????????????????
- - ?????????????? ????????????????????????????????
?????????? - ???????????????????????? lt
????????????????? Stack ??????????????????????????
?????????? - ???????????????????????? gt ?????????????????
??????????????????????? Stack
37????????????? Infix ???? Postfix
- 5. ???????????????????? ( ?????????????? Stack
- 6. ??????? ) ??????????????????? Stack
?????????????? ( ????????????????? - 7. ??????????? 2 ???????????????????????????
- 8. ??????????????????????? ???????????? ??????
Stack ??????
38A B
??????????? Stack ?????? Postfix
A B ???? A A AB AB
39A 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-
42101520/6
10,15,20 6/
4310/(23)(56)9
10,2,3 /5,6 9
44 45????????????????????????(Queue)
- ????????????
- ???????????????????
- ????????????????????????
- ??????????????? ATM
- ????????????? ? ????? print ???????????????
465.1?????????????????????????????????
- ?????????????????????????? Stack
- ??????????????????????????????????????????????????
????????? - ???????????????????????????????????????? (Rear)
- ??????????????????????????????????
- ????????????????? ?????????? ????????? (FIFO)
47????????
Rear
Front
485.1.1 ???????????????
- ??????????????????????????? ?????????????????????
- ??????????????????? ? ?????? ????????????
?????????? (Queue Overflow)
495.1.2 ??????????????
- ???????????????????????????????????????????????
- ??????????????????????? ? ?????????????
???????????? ?????????? (Queue Underflow)
505.2?????????????????????Queue ???? Array
- ??????????????????? 4 ??????????
- ????????
- ???????????????
- ??????????????
- ?????????????
515.2.1 ????????
- ?????????????????????????????????????????
?????????????????????????? ? ?????????????????????
???????????? - ???????????????? 2 ?????? F ??? R
- ?????????????? ????
- int Queue4
- int F,R
525.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
535.2.3 ??????????????
Y
F
R
1 2 3 4
40
30
20
10
3. IF FR THEN F0,R0
1.YQ(F)
2.FF1
545.3 ?????????????????????????????????????????????
?
- ????????? 4 ?????????????
- ????????
- ???????????????
- ??????????????
- ?????????????
555.3.1 ????????
- ?????????????????????????????? 2 ?????? F ??? R
?????? - typedef struct node
-
- int data
- struct node next
- node
- node F, R
565.4 ???????????????????????