stack implementation

 #include<iostream>

#define MS 100

using namespace std;

typedef struct stack{

int arr[MS];

int top;

}stack;

void init(stack *pts)

{

pts->top=-1;

}

int isfull(stack *pts)

{

if(pts->top==MS-1)

{

return 1;

}

else

{

return 0;

}

}

int isempty(stack *pts)

{

if(pts->top==-1)

{

return 1;

}

else

{

return 0;

}

}

void push(stack *pts,int data)

{

if(isfull(pts))

{

return;

}

else

{

++pts->top;

pts->arr[pts->top]=data;

}

}

int pop(stack *pts)

{

int temp;

if(isempty(pts))

{

return 9999;

}

else

{

temp=pts->arr[pts->top];

--pts->top;

return temp;

}

}

int peek(stack *pts)

{

if(isempty(pts)!=1)

{

return pts->arr[pts->top];

}

}

int main()

{

stack s;

init(&s);

int i,arr[5];

cout<<"push stack elements: ";

for(i=0;i<5;i++)

{

cin>>arr[i];

push(&s,arr[i]);

}

cout<<"popped elements: ";

for(i=0;i<5;i++)

{

cout<<pop(&s)<<"\n";

}

}



Comments

Popular Posts