#include <stdio.h>
#include <stdlib.h>
int * array=NULL;
int count=0;
void init_stack(int size)
{
array=(int *)malloc(sizeof(int)*size);
if(!array)
{
printf("创建栈失败");
return ;
}
}
void push( int val)
{
array[count++]=val;
}
int peek()
{
if(length_stack()==0)
{
printf("此栈为空栈\n");
return 0;
}
return array[count-1];
}
int pop()
{
int length=length_stack();
if(length==0)
{
printf("已经到栈底啦\n");
return -1;
}
int val=peek();
count--;
return val;
}
int length_stack()
{
return count;
}
void print_stack()
{
int i=length_stack()-1;
while(i>=0)
{
printf("%d ",array[i--]);
}
}
int main()
{
init_stack(100);
push(2);
pop();
pop();
int val= peek();
printf("栈顶元素为:%d\n",val);
int size=length_stack();
printf("栈的大小为:%d\n",size);
print_stack();
}