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
Post a Comment