-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstack.c
More file actions
40 lines (35 loc) · 789 Bytes
/
stack.c
File metadata and controls
40 lines (35 loc) · 789 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//Manan Patel 2018A7PS0194H
//Adit Gandhi 2018A7PS0575H
//Dhiraaj Desai 2018A7PS0146H
#include "stack.h"
void push(node* stack[], int max, int *stackPointer, node* value){
if( isFull(stack,max,*stackPointer) == 1 ){
return;
}
++(*stackPointer);
stack[*stackPointer] = value;
}
void pop(node* stack[], int max, int *stackPointer){
if( isEmpty(stack,max,*stackPointer) == 1){
return;
}
--(*stackPointer);
}
int isEmpty(node* stack[], int max, int stackPointer){
if( stackPointer == -1 ){
return 1;
}
return 0;
}
int isFull(node* stack[], int max, int stackPointer){
if( stackPointer == (max-1) ){
return 1;
}
return 0;
}
node* top(node* stack[], int max, int stackPointer){
if( isEmpty(stack,max,stackPointer) == 1 ){
return 0;
}
return stack[stackPointer];
}