栈是一种“先入后出”的重要数据结构,包含有栈顶和栈底,栈顶指向最后放入的元素,栈底指向最先放入的元素。不能随意访问,只能访问栈顶元素,其操作只能对栈顶元素使用。
重要的操作有入栈和出栈。入栈(push):将元素压入栈中,同时将栈顶指向此元素。出栈(pop):将栈顶元素弹出,同时将栈顶指向下一个元素。
(图片来自网络)
实现:
//stack.h
#ifndef STACK_H
#define STACK_H
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
<span style="white-space:pre"> </span>int data;
<span style="white-space:pre"> </span>struct node *next;
}Node;
void create_stack(Node **);
int isempty(Node *);
void push_stack(Node *,int);
int pop_stack(