#include "12.h"
int main(int argc, const char *argv[])
{ int i;
Pstack L=creat_stack();
int a[6]={10,20,30,40,50,60};
for(i=0;i<6;i++)
{
Stack_insert(L,a[i]);
}
output(L);
Stack_out(L);
output(L);
printf("栈的大小是%d\n",Stack_size(L));
des(L);
output(L);
return 0;
}
#include"12.h"
Pstack creat_stack()
{
Pstack L=malloc(sizeof(Stack));
if(L==NULL)
{
printf("创建失败\n");
return NULL;
}
L->top=-1;
bzero(L->data,sizeof(L->data));
return L;
}
void Stack_insert(Pstack L,int e)
{
if(L==NULL||L->top==MAX-1)
{
printf("栈不存在或栈满\n");
return;
}
L->top++;
L->data[L->top]=e;
printf("插入成功\n");
}
void Stack_out(Pstack L)
{
if(L==NULL||L->top==-1)
{
printf("栈不存在或栈空\n");
return ;
}
printf("出栈元素:%d\n",L->data[L->top]);
L->top--;
}
void output(Pstack L)
{
int i;
for(i=0;i<=L->top;i++)
{
printf("%d\t",L->data[i]);
}
printf("\n");
}
int Stack_size(Pstack L)
{
return L->top+1;
}
void des(Pstack L)
{ if(L==NULL)
{
printf("栈不存在\n");
}
free(L);
L=NULL;
printf("销毁成功\n");
}
#ifndef _12_H_
#define _12_H_
#include<myhead.h>
#define MAX 6
typedef struct
{
int data[MAX];
int top;
}Stack,*Pstack;
Pstack creat_stack();
void Stack_insert(Pstack L,int e);
void Stack_out(Pstack L);
void output(Pstack L);
int Stack_size(Pstack L);
void des(Pstack L);
#endif