sy2_1_2.cpp

来自「一些基本的数据结构」· C++ 代码 · 共 101 行

CPP
101
字号
/**********************************************************************************/
#include "LStack.h"
void main()
{
 Linkstack S;
 Llist p,s,q;
 Element e,element;
 Status i;
 int j,k,num;
 void visit( Element n );
/********************************/
  i = Init_Lstack( &S );                              /*****建栈********/
  if(i) 
	    printf("建栈成功!\n");
  printf( "S.stacksize=%d, S.base=%d, S.top=%d\n\n",S.stacksize, S.base, S.top );
/********************************/
  
 i = Clear_Lstack( &S );                            /****清空栈*******/
 if(i) 
	    printf("栈已空!\n");
 printf( "S.stacksize=%d,  S.base=%d,  S.top=%d\n\n",S.stacksize, S.base, S.top );
/********************************/

 i = LinkstackEmpty( S );
 if(i) 
	    printf("栈是空的!\n");
 else   
	    printf("栈不是空的!\n");
 /********************************/
 printf("Please input number of Stack element!\n");
 scanf("%d",&num);
 printf("Please input Stack Elemet!\n");
 for( j = 1; j <= num; j++ )                                 /******插入元素*******/
 {
  scanf("%d",&element);
  e = element;
  i = Link_insert( &s,&e );
  i = Push( &S, &s );
 }
   if(i)    
        printf("输入数据有效!\n");
   else   
	    printf("输入失败!\n");
/********************************/

 i = LinkstackEmpty( S );
 if(i) 
	    printf("\n栈是空的!\n");
 else   
	    printf("\n栈不是空的!\n");
 /********************************/
printf( "S.base=%d,   S.top=%d,   S.stacksize=%d\n\n",
          S.base, S.top, S.stacksize );
/*********************************/
 i = LinkstackGetTop( S, &e );               /***获得栈顶元素***/
 if(i) 
	    printf("\n获得栈顶元素成功!\n");
 else   
	    printf("\n获得栈顶元素不成功!\n");
 printf( "Top=%d\n\n", e );
printf( "S.stacksize=%d\n\n",S.stacksize );
/**********************************/
  for( j = 1; j <= num; j++ )
  {
	i = LinkstackPop( &S,&e );                  /***删除栈顶元素***/
     
   if(i) 
	    printf("\n删除栈顶元素成功!\n");
   else  
	    printf("\n删除栈顶元素不成功!\n");
   printf( "del=%d\n\n",e );
   printf( "S.base=%d, S.top=%d, S.stacksize=%d\n\n",
          S.base, S.top, S.stacksize );
  }
 /********************************/

 i = LinkstackEmpty( S );
 if(i) 
	    printf("\n栈是空的!\n");
 else   
	    printf("\n栈不是空的!\n");

    printf( "S.base=%d,   S.top=%d,   S.stacksize=%d\n\n",
	 S.base, S.top, S.stacksize );

 /********************************/
   i=DestoyLinkstack(&S);
   if(i) 
	    printf("\n栈已销毁!\n");
   else   
	    printf("\n失败!\n");
}








⌨️ 快捷键说明

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