⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kuohao.c

📁 树里求祖先结点的算法,RSA加密,二叉树,括号匹配,约瑟夫环,ID
💻 C
字号:
#include <stdio.h>
#include <conio.h>
#define Initsize 100
typedef struct
{ char a[Initsize];
  int top;
}seqstack;

//void initstack(seqstack *p)
//{p->top=0;}

int full(seqstack *p)
{return(p->top==Initsize-1);}

int empty(seqstack *p)
{return(p->top==-1);}

void push(seqstack *p,char b)
{if(full(p))
   printf("The stack is full!");
  else
   {
    p->a[++p->top]=b;
   }
}

void pop(seqstack *p)
{ if(empty(p))
    printf("\n!The stack is enpty!");
   else
     p->top--;
}

char gettop(seqstack *p)
{if(empty(p))
    printf("The stack is enpty!");
   else
     return(p->a[p->top]);
}

main()
{ char s;int i,j,k;
  seqstack *p;seqstack *q;
  i=0;j=0;k=0;
  //initstack(p);
  initstack(q);
  printf("Input sucessive '(' or ')':");
  while(s=getchar())
   { if(s=='\n')
       break;
      else
       {i++;
	push(q,i);
       }
     if(s=='(')
      { if(!full(p))
	 push(p,s);
      }
       else
	{
	   if(!empty(p))
	     {pop(p);
	      j=gettop(q);
	      pop(q);
	      k=gettop(q);
	      pop(q);
	      printf("\nok:%d--%d",j,k);
	     }
	}
   }
       while(!empty(p))
	 {printf("\nNo match:No:%d'('",q->a[q->top--]);
	  pop(p);
	 }

       while(!empty(q))
	     printf("\nNo match:No:%d')'",q->a[q->top--]);
       getch();

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -