ايران ويج

نسخه‌ی کامل: طراحي پشته با ليست پيوندي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
طراحي پشته با ليست پيوندي
کد:
#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";
}