Reverse string using stack

 //write a c++ program that accepts a string and reverse it using stack

#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);

string ip;

int i;

cout<<"Enter string: ";

getline(cin,ip);

for(i=0;i<ip.length();i++)

{

push(&s,ip[i]);

}

for(i=0;i<ip.length();i++)

{

cout<<(char)pop(&s);

}

}









Comments

Popular Posts