/***链栈的实现***/
#include <fstream>
#include <iostream>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef char SElemType;
typedef struct StackNode
{
SElemType data;
struct StackNode *next;
} StackNode, *LinkStack;
//算法1 链栈的初始化(无头节点)
Status InitStack(LinkStack &S)
{
// 构造一个空栈 S,栈顶指针置空
S = NULL;
return OK;
}
//算法2 链栈的入栈
Status Push(LinkStack &S, SElemType e)
{
//在栈顶插入元素e
LinkStack p;
p = new StackNode; //生成新结点
p->data = e; //将新结点数据域置为e
p->next = S; //将新结点插入栈顶(类似与前插法,只不过没有头节点)
S = p;
链栈-详细代码解析
最新推荐文章于 2021-10-30 00:06:00 发布
本文深入探讨了链栈的概念,通过详细代码展示其插入、删除等操作,帮助理解链栈的工作原理及其在数据结构中的应用。
摘要由CSDN通过智能技术生成