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

📄 stack.h

📁 LL(1)方法
💻 H
字号:
#include <stdio.h > 
#include <malloc.h > 

typedef   struct   node{ 
        char   data;		
        struct   node   *next; 
}NODE; 

typedef   struct   snode{ 
		 int sum;
        NODE   *top; 
        NODE   *bottom; 
}SNODE; 


void   *InitStack(SNODE   *S)
{ 
		NODE   *p=(NODE   *)malloc(sizeof(NODE)); 
		
		p->data='#';
		S->top=p; 
                S->top->next=NULL; 
                S->bottom=S->top; 
				S->sum=0;
                printf( "The   Stack's   Init   is   complete!   \n "); 
                return   0; 
} 


void   *StackPush(SNODE   *S,char symbol)
{ 
		NODE   *p;
		p=(NODE   *)malloc(sizeof(NODE)); 
		//printf( "Please   input   a   number: "); 
                p->data=symbol;
                p->next=S->top->next; 
				S->top->next=p;
                S->top=p; 
				S->sum++;
                //printf( "%2c",symbol); 
                return   0; 
} 


int    StackPop(SNODE   *S,NODE *t)
{ 
		NODE   *p; 
		int i=0;
		if(S->sum==-1)     return 1; 
			p=S->bottom;
			//printf("S->sum=%d",S->sum);
			while(S->sum!=0&&i!=(S->sum-1))
			{	i++;
				p=p->next;
			}
				t->data=S->top->data;
				free(S->top);
			    S->top=p; 
				p->next=NULL;
				S->sum--;
                //printf( "The   %d   is   pop   from   the   stack!   \n ",   p- >data); 
               return 0; 
} 
  
void   *PrintStack(SNODE   *S)
{ 
                NODE   *p;
				int i;
				i=S->sum;
                p=S->bottom; 
                while(i!=-1)
				{ 
                printf( "%c",p->data);
			//	system("PAUSE");
                p=p->next;
				i--;
			
				} 
                return   0; 
} 

⌨️ 快捷键说明

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