ʵÑéÈý »ùÓÚÊý×éµÄÕ»»ù±¾²Ù×÷ʵÑé
Ò» ¡¢ÊµÑéÄ¿µÄ
1£®ÊìϤ²¢ÄÜʵÏÖÕ»µÄ¶¨ÒåºÍ»ù±¾²Ù×÷¡£
2£®Á˽âºÍÕÆÎÕÕ»ÔڵݹéºÍ·ÇµÝ¹éËã·¨µÄÓ¦Óá£
¶þ ¡¢ÊµÑéÒªÇó
1£®½øÐÐÕ»µÄ»ù±¾²Ù×÷ʱҪעÒâÕ»¡°ºó½øÏȳö¡±µÄÌØÐÔ¡£ 2£®±àдÍêÕû³ÌÐòÍê³ÉÏÂÃæµÄʵÑéÄÚÈݲ¢ÉÏ»úÔËÐС£ 3£®ÕûÀí²¢ÉϽ»ÊµÑ鱨¸æ¡£
Èý¡¢ÊµÑéÄÚÈÝ
1.±àд³ÌÐòÈÎÒâÊäÈëÕ»³¤¶ÈºÍÕ»ÖеÄÔªËØÖµ£¬¹¹ÔìÒ»¸ö˳ÐòÕ»£¬¶ÔÆä½øÐÐÈëÕ»¡¢³öÕ»ÒÔ¼°È¡Õ»¶¥ÔªËزÙ×÷¡£Ð´¸ö¹¦ÄÜд³ÉÒ»¸öº¯Êý¡£ #include
{ int data[MAXSIZE]; int top; }seqstack;
/*³õʼ»¯Õ»*/
seqstack stainit() {seqstack s; s.top=-1; return s;}
/*½øÕ»*/
seqstack stackpush(seqstack s,int x) {
if(s.top==MAXSIZE-1) { printf(\exit(0);} s.top++;
s.data[s.top]=x; return s; }
/*³öÕ»*/
int stackpop(seqstack *st) {int x;
if(st->top==-1) /*ÅжÏÕ»ÊÇ·ñΪ¿Õ*/ {printf(\x=st->data[st->top]; st->top--; return x; }
/*Get the top element*/ int top(seqstack s) {if(s.top!=-1)
return(s.data[s.top]); }
/*Ö÷º¯Êý*/ void main() {
seqstack s,*st; st=&s;
int i,a[6],m;
printf(\ÇëÊäÈëÒÀ´ÎÈëÕ»µÄ6¸öÔªËØ:\\n\for(i=0;i<6;i++) scanf(\
s=stainit(); for(i=0;i<6;i++) s=stackpush(s,a[i]);
printf(\µÃµ½µÄÕ»¶¥ÔªËØ:\\n\for(i=s.top;i>=0;i--) {m=stackpop(st); printf(\} }
2£®´Ó¼üÅÌÉÏÊäÈëÒ»´®´øÀ¨ºÅµÄ×Ö·û£¬Èç¹ûÆäÖеÄÀ¨ºÅÊÇÆ¥ÅäµÄ£¬ÔòÊä³ö¡°balance¡±£¬Èç¹ûÀ¨ºÅ²»Æ¥Å䣬ÔòÊä³ö¡°not balance¡±
#include
{ char data[MAXSIZE]; int top; }seqstack;
/*³õʼ»¯Õ»*/ seqstack stainit() {seqstack s; s.top=-1; return s;}
/*½øÕ»*/
seqstack stackpush(seqstack s,char x) {
if(s.top==MAXSIZE-1) { printf(\
exit(0);} s.top++;
s.data[s.top]=x; return s; }
/*³öÕ»*/
int stackpop(seqstack *st) {char x;
if(st->top==-1) /*ÅжÏÕ»ÊÇ·ñΪ¿Õ*/ {printf(\x=st->data[st->top]; st->top--; return x; }
/*Ö÷º¯Êý*/ void main() { char c[MAXSIZE],t,m,*p; int k=0; seqstack s,*st; st=&s; s=stainit();
printf(\ÇëÊäÈë×Ö·û´®:\\n\gets(c); p=c;
for(;*p!='\\0';p++) { if(*p!=')'&&*p!=']') if(*p=='('&&*p=='[')
{t=*p; s=stackpush(s,*p);} else
continue;
if(s.top>=0)
{if(*p==')'||*p==']') {m=stackpop(st);
if((m=='('&&*p==')')||(m=='['&&*p==']')) continue; else
{printf(\
Ïà¹ØÍÆ¼ö£º