结构体实现栈
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
typedef struct
{
int arr[100];
int len;
int top;
int size;
}node;
node *init()
{
node* p = (node*)malloc(sizeof(node));
memset(p, 0, sizeof(node));
p->top = 100;
return p;
}
void push(node* n, int data)
{
if (n->len >= n->top)
return;
n->arr[(n->len)++] = data;
n->size++;
}
int pop(node* n)
{
(n->len)--;
n->size--;
return n->arr[n->len];
}
int isEmpty(node *n)
{
printf("元素个数为0");
return n->size == 0;
}
int main()
{
node *n = init();
for (int i = 0; i < 10; i++)
{
push(n, i + 1);
}
for (int i = 0; i < 10; i++)
{
printf("拿出%2d\n", pop(n));
printf("元素个数还有%2d个\n", n->size);
}
free(n);
n = NULL;
return 0;
}