Beruflich Dokumente
Kultur Dokumente
Operations
Push, Pop, Top, isEmpty
Implementing a Stack
Using Vector /Array
requires estimate of maximum list length may grow dynamically = empty slots Can contain varied data/objects (not necessarily homogeneous)
300 212 rules! Golf #1
top
Implementing a Stack
Using Linked List
flexible, adjusts to problem size implementing a linked list
nodes and references/links/pointers top
Golf #1 212 rules!
300
Implementing a Stack
Using Linked List
implementing a linked list
cursor implementation 0
212 rules!
1
2 3 4
-1
7 -1 1 4
300 Golf #1
top = 5
freelist = 8
6
7 8
3
6 0
Implementing a Stack
push pop top/peek isEmpty
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression:
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a
(
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x
(
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x
+ (
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y
+ (
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y +
(
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y +
* = @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + *
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + *
+
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z
+
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z
* +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c
* +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c
^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c
( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2
( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2
( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 ~ ( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ ( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ ( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~
( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ + ( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w +
( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w +
( ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w +
( ^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w +
^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w +
^ * +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^
* +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ *
+
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ *
/ +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ * x
/ +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ * x
/ +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ * x /
+
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / +
= @
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
Infix to Postfix
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ;
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
a z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
x a z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
y x a z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =
y x a z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + x y t0
t0 a z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + x y t0
t0 a z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * x a y t0 t0 t1
t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * x a y t0 t0 t1
z t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * x a y t0 t0 t1
c z t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * x a y t0 t0 t1
2 c z t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * x a y t0 t0 t1
d 2 c z t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * x a y t0 t0 t1
d 2 c z t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ t2 2 c z t1 z x a d y t0 t0 t1 t2
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ w t2 2 c z t1 z x a d y t0 t0 t1 t2
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ w t2 2 c z t1 z x a d y t0 t0 t1 t2
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + t3 2 c z t1 z x y a t0 d t2 w t0 t1 t2 t3
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + t3 2 c z t1 z x y a t0 d t2 w t0 t1 t2 t3
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + t4 c z t1 z x y a t0 d t2 2 w t3 t0 t1 t2 t3 t4
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + t4 c z t1 z x y a t0 d t2 w w t3 t0 t1 t2 t3 t4
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ t5 z t1 z x a d t2 w c y t0 t0 t1 t2 w t3 t3 t4 t4 t5
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ t5 z t1 z x a d t2 w c y t0 t0 t1 t2 w t3 t3 t4 t4 t5
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * x a d t2 w c Z y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6
t6 t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * x a d t2 w c Z y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6
x t6 t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * x a d t2 w c Z y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6
x t6 t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / x a d t2 w c Z t6 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7
t7 t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / x a d t2 w c Z t6 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7
t7 t1 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / + x a d t2 w c Z t6 t1 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7 t7 t8
t8 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / + x a d t2 w c Z t6 t1 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7 t7 t8
t8 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / + = x a d t2 w c Z t6 t1 t8 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7 t7 t8 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / + x a d t2 w c Z t6 t1 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7 t7 t8
t8 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / + = x a d t2 w c Z t6 t1 t8 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7 t7 t8 z
Postfix to Quadruples
postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + = + * ~ + ^ * / + = x a d t2 w c Z t6 t1 t8 y t0 t0 t1 t2 w t3 t3 t4 t4 t5 t5 t6 x t7 t7 t8 z
Postfix to Quadruples
infix expression: z = a * ( x + y ) + z * c ^ ( 2 ( d + w ) ) / x ; --- t0 ---t2+ x y t0 ----- t1 --------- t3 ---* a t0 t1 -------- t4 ------------------ t5 ----------~ d t2 -------------- t6 ------------+ t2 w t3 ----------------- t7 -------------- w t3 t4 ---------------------- t8 --------------------------^ c t4 t5 * Z t5 t6 / t6 x t7 + t1 t7 t8 = t8 z postfix expression: z a x y + * z c 2 d ~ w + ^ * x / + =