入栈与出栈的所有排列可能性.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

#includestdio.h#includestdlib.h#includebios.h#includestring.h#includegraphics.h

/*定义全局变量*/intpu=0,po=0,t=0;chartp[130][12];

/*用栈排出入栈出栈的顺序*/structtrain{

intnumb;

structtrain*next;

};

structpush{inta;

intb;

chardata[24];structpush*next;

};

structpush*creat(structpush*top)

{

top=(structpush*)malloc(sizeof(structpush));top-next=NULL;

returntop;

}

structpush*pup(structpush*top,inta,intb,intn)

{

structpush*p,*q;q=top-next;

p=(structpush*)malloc(sizeof(structpush));p-a=a;

p-b=b;if(q)

strcpy(p-data,q-data);if(q-an||!q)

{

p-data[a+b-1]=r;

p-data[a+b]=\0;

}

else

{

p-data[a+b-1]=c;

p-data[a+b]=\0;

}

p-next=top-next;top-next=p;

returntop;

}

structpush*pop(structpush*top)

{

top=top-next;returntop;

}

structpush*apaili(structpush*top,intnumb) /*向后移动一个出命令*/

{

structpush*q;q=top-next;if(punumb)

{

pu++;top=pup(top,pu,po,numb);top=apaili(top,numb);

}

if(ponumb)

{

po++;top=pup(top,pu,po,numb);top=apaili(top,numb);

}

returntop;

}

structpush*bpaili(structpush*top,intnumb)/*移动第一个出命令到最后*/

{

inta,b,cir;charx[22];structpush*p;

do{

p=top-next;p=p-next;a=p-a;

b=p-b;

if(p-data[a+b-1]==r)

break;else

{

do{

top=pop(top);p=top-next;a=p-a;

b=p-b;

}while(p-data[a+b-1]==c);if(a==1)

{

cir=1;break;

}

top=pop(top);a--;

b++;

top=pup(top,a,b,numb);

top-next-data[a+b-1]=c;pu=a;

po=b;top=apaili(top,numb);

strcpy(x,top-next-data);if(jc(x))

{

strcpy(tp[t],x);t++;

}

}

}while(a+b2*numb);if(cir==1)

returntop;top=pop(top);top=bpaili(top,numb);

}

intjc(charc[22])

{

inti=0,k=0;if(c[i]!=0)do{

if(c[i]==r)k++;

if(c[i]==c)

k--;

if(k0)return0;i++;

}while(c[i]!=\0);return1;

}

/*调用排好的顺序进行入栈与出栈操作*/structtrain*tcreat(structtrain*ttop)

{

ttop=(structtrain*)malloc(sizeof(structtrain));ttop-next=NULL;

returnttop;

}

structtrain*tpup(structtrain*ttop,intdata)

{

structtrain*p;

p=(structtrain*)malloc(sizeof(structtrain));p-numb=data;

p-next=ttop-next;ttop-next=p;

returnttop;

}

structtrain*tpop(str

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档