#include <stdio.h>
#include <string.h>
#include<stdlib.h>
struct node
{
char ch;
struct node * next;
} ;
int listSize= 0 ;
struct node* stackHead= NULL;
struct node* queueHead= NULL;
struct node* queuetail= NULL;
//----------------------------------
void push( char c)
{
struct node
* new
= ( struct node
* ) malloc ( sizeof ( struct node
) ) ; //if(new==NULL){printf("NOT\n");}
new-> ch= c;
new-> next=* stackHead;
* stackHead= new;
listSize++;
}
//------------------------------
char pop( )
{
struct node* current= stackHead;
char z;
//if(stackHead==NULL){printf("error");}
* stackHead= current-> next;
z= current-> ch;
listSize--;
return z;
}
//------------------------------
void enqueue( char c)
{
struct node* new;
new
= ( struct node
* ) malloc ( sizeof ( struct node
) ) ; new-> next= NULL;
//if(new==NULL){printf("NOT\n");}
new-> ch= c;
new-> next= NULL;
if ( ( queueHead== NULL) && ( queuetail== NULL) )
{
queueHead= new;
queuetail= new;
listSize++;
}
else
{
queuetail-> next= new;
queuetail= new;
listSize++;
}
}
//-----------------------------------------------------
char dequeue( )
{
if ( ( queueHead
== NULL
) && ( queuetail
== NULL
) ) { printf ( "empty\n " ) ; return 0 ; }
else
{
struct node* tmp1= queueHead;
queueHead= queueHead-> next;
char w;
w= tmp1-> ch;
listSize--;
return w;
}
}
//----------------------------------
int isEmpty( )
{
int z;
if ( stackHead== NULL)
{
z= 1 ;
}
else
{
z= 0 ;
}
return z;
}
//------------------------------------
int main( )
{
char stackChar;
char queueChar;
char x;
int i, length;
//int ispalindrome;
int y= 1 ;
for ( i= 0 ; i< length; i++ )
{
{
if ( x) {
push( x) ;
enqueue( x) ;
}
}
while ( ! isEmpty( & stackHead) )
{
stackChar= pop( ) ;
queueChar= dequeue( ) ;
/*if (stackChar==queueChar)
{
ispalindrome= 1;
printf("%c %c\n",stackChar,queueChar);
}
else
{
ispalindrome = 0;
printf("%c %c\n",stackChar,queueChar);
break;
}*/
}
//printf("%d\n",ispalindrome);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGU8c3RkbGliLmg+CnN0cnVjdCBub2RlIAp7CmNoYXIgY2g7CnN0cnVjdCBub2RlICogbmV4dDsKfTsKaW50IGxpc3RTaXplPTA7CnN0cnVjdCBub2RlKiBzdGFja0hlYWQ9TlVMTDsKc3RydWN0IG5vZGUqIHF1ZXVlSGVhZD1OVUxMOwpzdHJ1Y3Qgbm9kZSogcXVldWV0YWlsPU5VTEw7Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp2b2lkIHB1c2goY2hhciBjKQp7CnN0cnVjdCBub2RlICpuZXc9KHN0cnVjdCBub2RlICopbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9kZSkpOwovL2lmKG5ldz09TlVMTCl7cHJpbnRmKCJOT1RcbiIpO30KbmV3LT5jaD1jOwpuZXctPm5leHQ9KnN0YWNrSGVhZDsKKnN0YWNrSGVhZD1uZXc7Cmxpc3RTaXplKys7Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KY2hhciBwb3AoKQp7CnN0cnVjdCBub2RlKiBjdXJyZW50PXN0YWNrSGVhZDsKY2hhciB6OwovL2lmKHN0YWNrSGVhZD09TlVMTCl7cHJpbnRmKCJlcnJvciIpO30KKnN0YWNrSGVhZD1jdXJyZW50LT5uZXh0Owp6PWN1cnJlbnQtPmNoOwpmcmVlKGN1cnJlbnQpOwpsaXN0U2l6ZS0tOwpyZXR1cm4gejsKfQoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kdm9pZCBlbnF1ZXVlKGNoYXIgYykKewpzdHJ1Y3Qgbm9kZSogbmV3OwpuZXc9KHN0cnVjdCBub2RlICopbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9kZSkpOwpuZXctPm5leHQ9TlVMTDsKLy9pZihuZXc9PU5VTEwpe3ByaW50ZigiTk9UXG4iKTt9Cm5ldy0+Y2g9YzsKbmV3LT5uZXh0PU5VTEw7CmlmKChxdWV1ZUhlYWQ9PU5VTEwpJiYocXVldWV0YWlsPT1OVUxMKSkKewpxdWV1ZUhlYWQ9bmV3OwpxdWV1ZXRhaWw9bmV3OwpsaXN0U2l6ZSsrOwp9CmVsc2UKewpxdWV1ZXRhaWwtPm5leHQ9bmV3OwpxdWV1ZXRhaWw9bmV3OwpsaXN0U2l6ZSsrOwp9Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjaGFyIGRlcXVldWUoKQp7CmlmKChxdWV1ZUhlYWQ9PU5VTEwpJiYocXVldWV0YWlsPT1OVUxMKSl7IHByaW50ZigiZW1wdHlcbiIpOwpyZXR1cm4gMDt9CmVsc2UKewpzdHJ1Y3Qgbm9kZSogdG1wMT1xdWV1ZUhlYWQ7CnF1ZXVlSGVhZD1xdWV1ZUhlYWQtPm5leHQ7CmNoYXIgdzsKdz10bXAxLT5jaDsKZnJlZSh0bXAxKTsKbGlzdFNpemUtLTsKcmV0dXJuIHc7Cn0KfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaW50IGlzRW1wdHkoKQp7CmludCB6OwppZihzdGFja0hlYWQ9PU5VTEwpCnsKej0xOwp9CmVsc2UKewp6PTA7Cn0KcmV0dXJuIHo7Cn0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmludCBtYWluKCkKewpjaGFyIHN0YWNrQ2hhcjsKY2hhciBxdWV1ZUNoYXI7CmNoYXIgeDsKaW50IGksbGVuZ3RoOwovL2ludCBpc3BhbGluZHJvbWU7CnNjYW5mKCIlZCIsJmxlbmd0aCk7CmludCB5PTE7CmZvcihpPTA7aTxsZW5ndGg7aSsrKQp7CndoaWxlKHk9PXNjYW5mKCIlYyIsJngpKQp7CmlmKHgpewpwdXNoKHgpOwplbnF1ZXVlKHgpOwp9Cgp9Cgp3aGlsZSAoIWlzRW1wdHkoJnN0YWNrSGVhZCkpCnsKc3RhY2tDaGFyPXBvcCgpOwpxdWV1ZUNoYXI9ZGVxdWV1ZSgpOwpwcmludGYoIiVjIixzdGFja0NoYXIpOwovKmlmIChzdGFja0NoYXI9PXF1ZXVlQ2hhcikKewppc3BhbGluZHJvbWU9IDE7CnByaW50ZigiJWMgJWNcbiIsc3RhY2tDaGFyLHF1ZXVlQ2hhcik7Cn0KZWxzZQp7CmlzcGFsaW5kcm9tZSA9IDA7CnByaW50ZigiJWMgJWNcbiIsc3RhY2tDaGFyLHF1ZXVlQ2hhcik7CmJyZWFrOwp9Ki8KfQpwcmludGYoIlxuLi4uXG4iKTsKLy9wcmludGYoIiVkXG4iLGlzcGFsaW5kcm9tZSk7Cn0KfQ==