4.1 ??(stack) - PowerPoint PPT Presentation

About This Presentation
Title:

4.1 ??(stack)

Description:

4 4.1 (stack) 4.2 4.3 4.4 int delete_linkQ(i, item) int i, item ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 49
Provided by: aa149
Category:
Tags: stack

less

Transcript and Presenter's Notes

Title: 4.1 ??(stack)


1
? 4 ? ??? ?
  • 4.1 ??(stack)
  • 4.2 ??? ??
  • 4.3 ?
  • 4.4 ??

2
??(stack)
  • ??? ??? ??
  • STACK???STACK? ??????? ? ???? ?? ???? ???
    ??(????Last-In First-Out)? ???? ?? ???? ?????
    ??? ????? ??.STACK? ??? ??? ?? ?????? ?? ?????
    ?? ????. ?? ???? ???? ??? ???????? ????? ?? ????
    ???? ??? ????.

3
STACK? ??
??(push)
??(pop)
TOP ??? ??? ??? ?????. ??? TOP???? ???? ???
???? ?? ??? ??? ???? ????, ?? ?? STACK???? ????
???? ???? ??? ??? ????.
STACK? ?? ?? ?.
BOTTOM
4
??? ??
  • ?????? STACK??? ????? ??? ??? ???.??? ???
    ???? ?????(Overflow)? ?? ?? ? ???? ??
    ?????(Underflow)??.

5
??? ??
6
??? ??
7
??? ??
8
??? ??
9
??? ??? ??
STACK? ????.(??? n? ??? ??.)
-1 0 1 2
. . . n-2 n-1
A B C
bottom
STACK?????
TOP
STACK?? ??
10
??? ?? ????
void push(item, stack, n, top) int item,
stack,n, top if(topn) then printf(" Stack
full ") / ??? ????? / else top
top 1 / ??? top ?? /
stacktop item / ??? top? ??? ?? /

11
??? ?? ????
void pop(item, stack, top) int item,
stack, top if(top -1) then
printf(" Stack empty ") /?? ?????/
else item stacktop / ??? ??
/ top top - 1 / ??? top ?? /

12
?? STACK
  • 2?? STACK? ??? ????? ????? 2?? ??? ??? ??.

13
?? STACK
  • n?? STACK? ??? ????? ????? n?? ??? ??.

14
?? ??? ?? ????
/ i ?? ????? ?? / void multi_stackpush(i,
item) int i, item if(ti bi1)
printf("i-th Stack full") else
ti stackti item
15
?? ??? ?? ????
/ i ?? ????? ?? / void multi_stackpop(i,
item) int i, item if(ti bi)
printf("i-th Stack Empty") else
item stackti ti--
16
?????? STACK
  • ??? ?? ?? ?????? ?? ??.
  • ??(push)? ??(pop)??? ?? ??? ?? ?? ?????.
  • ???? ??(head) ???? ??? top???? ??.

17
?????? STACK
data
link
top
...
18
????? ??? ??
19
????? ??? ??
int stack_pop(int i, int item) struct stack_node
temp if(topi NULL) then printf("Stack
Empty") else temp topi
item topi-gtdata topi
topi-gtlink Free(temp)
return item
20
??? ?? 1
  • ????? ?? ? ??? ??? ??
  • ??? ??? ?? ??? ?? ?? ????4.7

??? ??? ??
21
??? ?? 1
22
??? ?? 2
  • ??? ??? ??? ??? ??
  • ??? ???
  • ?????(infix notation)
  • ?????(prefix notation)
  • ?????(postfix notation)

23
?? ???
  • ????? ???? ??? ??? ??
  • ?? ???? ???
  • ?? ?
  • A / B C D E A C

24
?? ???
  • ????? ?? ??? ??
  • ?? ???? ?? ??? ??
  • ?? ???? ?? ??? ?? ??? ???? ????.
  • ( ( ( ( A / B ) C ) - ( D E ) ) ( A C ) )
  • ?? ??? ?? ?? ???? ?? ??? ???? ????.
  • ( - ( ( / ( A B ) C ) ( D E ) ) ( A C )
    )
  • ??? ???? ?? ????.
  • - / A B C D E A C

25
?? ???
  • ????? ?? ??? ??
  • ?? ???? ?? ??? ??
  • ?? ???? ?? ??? ?? ??? ???? ????.
  • ( ( ( ( A / B ) C ) - ( D E ) ) ( A C ) )
  • ?? ??? ?? ?? ???? ?? ??? ???? ????.
  • ( ( ( ( A B ) / C ) ( D E ) ) - ( A C ) )
  • ??? ???? ?? ????.
  • A B / C D E - A C

26
??? ??? ??? ??
  • ?? ????? ??? ??? ??
  • ??? ??? ?? ????
  • ?? ????? ??? ??? ??
  • ? ?? ??? ??? ????
  • ?? ???? ?? ??? ?? ????
  • ??? ?? ?? ???
  • ??? ??? ?? ???

27
?? ????? ??? ??? ??
28
?? ????? ??? ??? ??
29
?? ????? ??? ??? ??
30
?? ????? ??? ??? ??
31
?? ????? ??? ??? ??
32
?? ????? ??? ??? ??
33
?? ????? ??? ??? ??
E
34
?? ????? ??? ??? ??
35
?? ????? ??? ??? ??
R4R2-R3
36
?? ????? ??? ??? ??
37
?? ????? ??? ??? ??
R4R2-R3
C

38
?? ????? ??? ??? ??
39
?? ????? ??? ??? ??
R6R4R5
40
?? ????? ??? ??? ??
41
?? ????? ??? ??? ??
42
?? ????? ??? ??? ??
X A Y B
43
?? ????? ??? ??? ??
A/B
44
?? ????? ??? ??? ??
C
A/B
45
?? ????? ??? ??? ??
X A / B Y C
46
?? ????? ??? ??? ??
(A/B)C
47
?? ????? ??? ??? ??
D
(A/B)C
48
?? ????? ??? ??? ??
E
D
(A/B)C
Write a Comment
User Comments (0)
About PowerShow.com