【数据结构之链栈的基本运算】
2015-01-16 17:23
169 查看
链栈的类型:
<pre name="code" class="java">typedef struct stacknode{ DataType data struct stacknode *next }StackNode; typedef struct{ StackNode *top;//栈顶指针 }LinkStack;
链表的基本运算:
<pre name="code" class="java">public class LinkStack { //(1)置栈空 void InitStack(LinkStack *S){ S->top = null; } //(2)判断栈空 int StackEmpty(LinkStack *S){ return S->top == null; } //(3)进栈 void push(LinkStack *S,DataType x){ //将元素x插入链栈头部 StackNode *p = (StackNode *)malloc(sizeof(StackNode)); } //(4)退栈 DataType Pop(LinkStack *S){ DataType x; StackNode *p = S->top;//保存栈顶指针; if(StackEmpty(S)){ Error("Stack underflow");//下溢 } x = p->data; S->top = p->next;//将栈顶指针下移 free(p); return x; } //(5)取栈顶元素 DataType Pop(LinkStack *S){ if(StackEmpty(S)){ Error("Stack is empty"); } return S->top->data; } }
相关文章推荐
- IML 编程的基本函数(矩阵运算,数据管理)
- C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,
- R语言系列:数据的基本运算
- java基本数据类型的运算
- C语言基本数据类型及其运算
- 设计一个时间类Time, 包括时,分,秒等私有数据成员。要求实现时间的基本运算,一个时间加上另一个时间。。
- unity之数据基本类型和基本运算
- java基本数据类型之间赋值与运算归纳
- 基本数据类型的运算
- javascipt——基础知识——基本数据类型和逻辑运算
- R语言系列:数据的基本运算
- 【Java学习笔记】基础知识学习1【基本输出,数据类型,基础运算符号】
- 【转】C语言中的基本数据类型--数据之间的混合运算
- R语言系列:数据的基本运算
- 经典数据结构之矩阵的基本运算
- python学习笔记(一) 基本数据类型及运算
- 我的读书笔记之-----Java基本数据类型间的运算
- 链表数据结构与基本运算
- R语言系列:数据的基本运算
- 小总结+数据类型和基本运算