Data Structures: Mahesh Goyani
Data Structures: Mahesh Goyani
STRUCTURES
MAHESH GOYANI
MAHATMA GANDHI INSTITUE OF TECHNICAL EDUCATION & RESEARCH CENTER
[email protected]
33 TOP=1 33
20 TOP=0 20 20
TOP=-1 Push (20) Push (33) Push (47)
Stack Empty
77 TOP=2
33 TOP=1 33 33 TOP=1
20 20 20 20 TOP=0
int pop()
{
return STACK[TOP--]; int IsFull()
} {
return ( TOP == STACK_SIZE-1);
}
void push(int x)
{
STACK[++TOP] = x;
}
int IsEmpty()
{
return ( TOP == -1 );
int top() }
{
return STACK[TOP];
}
TOP 1
2 5 7 1
7
5 0 1 2 3 4
2 TOP = 3
2. [Increment TOP]
TOP = TOP + 1
4. Exit
3. [Decrement TOP]
TOP = TOP - 1
4. Exit
3. Exit
3. Exit
HEAD
TOP 1
1 7 5 2
7
5
2
head
1 7 5 2
top 7
5
2
pop(1)
head
top 9
7 5 2
7
5
newNode 9
2
push(9)
Allocating and deallocating memory for list nodes does take more
time than preallocated array.
START
Recursion
Initialization
Infix to Postfix Prologue
Tower of Hanoi
Partial
Decision
Computation
2. Scan P from left to right and repeat step 3 to 6 for each element of P until
TEMP_STACK the stack is empty.
(a). Repeatedly pop from TEMP_STACK and add to OP_STACK until a left
parenthesis encountered.
7. Exit.
P = A +( B / C - ( D * E ^ F ) + G ) * H
P = A +( B / C - ( D * E ^ F ) + G ) * H
* (+( - (* ABC/D
E (+( - (* ABC/DE
^ (+( - (* ^ ABC/DE
F (+( - (* ^ ABC/DEF
) (+( - ABC/DEF^*
+ (+(+ ABC/DEF^*-
G (+(+ ABC/DEF^*-G
) (+ ABC/DEF^*-G+
* (+ * ABC/DEF^*-G+
H (+* ABC/DEF^*-G+H
) ABC/DEF^*-G+H*+
INPUT
X Y Z
D
C
B
A
OUTPUT
Y Z
X
D
C
B
A