#include <stdio.h>
#include <stdlib.h>
int size;
typedef struct node
{
int data;
struct node * next;
}Node;
Node * top;
void init(void);
void push(int k);
void pop(void);
int topdata(void);
int main(void)
{
init();
push(1);
push(10);
push(100);
printf("%d\n", topdata());
pop();
printf("%d\n", topdata());
pop();
push(2);
printf("%d\n", topdata());
return 0;
}
int topdata(void)
{
if (top != NULL)
return top->data;
}
void pop(void)
{
Node * p;
p = top;
top = top->next;
free(p);
size--;
}
void push(int k)
{
Node * newnode;
newnode = (Node *)malloc(sizeof(Node));
newnode->next = top;//新节点插入栈顶
newnode->data = k;
top = newnode;//修改栈顶指针
size++;
}
void init(void)
{
top = NULL;
size = 0;
}
数据结构--链栈
最新推荐文章于 2021-12-08 01:23:00 发布