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

📄 2.1.c

📁 自己写的数据结构课程程序
💻 C
字号:
#define stack_init_size 100
#define stackincrement 10
#include <iostream.h>
#include <malloc.h>
#include <conio.h>

struct sqstack
{
  int *base;
  int *top;
  int stacksize;
}s;
int InitStack()
{
 s.base=(int*)malloc(stack_init_size*sizeof(int));
 if(!s.base) return 0;
 s.top=s.base;
 s.stacksize=stack_init_size;
 return 1;
}

int push(int e)
{
    if(s.top-s.base>=s.stacksize ){
       s.base =(int*)realloc(s.base,(s.stacksize +stackincrement)*sizeof (int));
    if(!s.base )return 0;
    s.top =s.base +s.stacksize ;
    s.stacksize +=stackincrement;
    }
    *s.top++=e;
    return 1;
}

int pop()
{
    int e;
    if(s.top ==s.base)return 0;
    e=*--s.top ;
    cout<<"所出栈的元素为:e="<<e<<endl;
    return 1;
}



void main(void)
{
    int i,j=0,k=0,m,k1=0;
    k=InitStack();
    if(k==1)cout<<"创建成功!"<<endl;
    else cout<<"创建失败!"<<endl;
    cout<<"请输入要插入的元素:";
    for(m=0;m<4;m++)
    {
      cin>>i;
      k1=push(i);
      if(k1==1)cout<<"插入成功!"<<endl;
      else cout<<"插入失败!"<<endl;
    }
    getch();
   j=pop();
   if(j==1)cout<<"出栈成功!"<<endl;
   else cout<<"出栈失败!"<<endl;
}



⌨️ 快捷键说明

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