۰۶-اردیبهشت-۱۳۹۱, ۱۳:۴۴:۵۳
طراحي پشته با ليست پيوندي
کد:
#include <iostream.h>
#include <conio.h>
struct node
{
char token;
node *link;
}*top=NULL;
void push(char x)
{
node *temp=new node;
temp->token=x;
temp->link=top;
top=temp;
}
char pop()
{
node *temp=top;
char x;
if(top==NULL) return 0;
top=top->link;
x=temp->token;
delete temp;
return x;
}
int check(char s[])
{
for(int i=0;s[i]!=NULL;i++)
{
if(s[i]=='(' || s[i]=='{')
push(s[i]);
else
if(s[i]==')' && pop()!='(')
return 0;
else if(s[i]=='}' && pop()!='{')
return 0;
}
if(top!=NULL)
return 0;
return 1;
}
main()
{
char str[50];
cin>>str;
if(check(str))
cout<<"correct";
else
cout<<"wrong";
}