C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)

转载 2015年07月07日 17:31:05
//顺序栈的基本操作
#include<stdio.h>
#define MaxSize 50
typedef int ElemType;

//定义栈结构体
typedef struct
{
ElemType data[MaxSize];
int top;
}SqStack;


//初始化栈
void InitStack(SqStack &S)
{
S.top = -1;
}

//判断栈是否为空
bool StackEmpty(SqStack S)
{
if(S.top == -1)
return true; //栈为空
else
return false;
}

//入栈
bool Push(SqStack &S,ElemType x)
{
if(S.top == MaxSize-1)
return false;
S.data[++S.top] = x;
return true;
}

//出栈
bool Pop(SqStack &S,ElemType x)
{
if(S.top == -1)
return false;
x = S.data[S.top--];
printf("%d\n",x); //为查看栈的出栈元素
return true;
}

//获取栈顶元素
bool GetTop(SqStack S,ElemType &x)
{
if(S.top == -1)
return false;
x = S.data[S.top];
printf("%d\n",x); //为查看栈的栈顶元素
return true;
}


void main()
{
SqStack s;
int m,x;
InitStack(s);
Push(s,3);
Push(s,9);
Push(s,17);
Pop(s,x);
m = StackEmpty(s);
GetTop(s,x);
printf("%d\n",m);

}


程序结果:


顺序栈的九种基本操作和实现(数据结构C语言版清华大学严蔚敏)

栈是仅限定在表尾进行插入和删除操作的线性表,在严蔚敏版的C语言版的数据结构中共定义了九种栈的基本操作;分别是构造 销毁 清空 栈长 栈顶 插入 删除 遍历。下面就是代码实现: 头文件和宏定义(保存...

顺序栈——9种基本操作和实现(C语言)

栈是仅限定在表尾进行插入和删除操作的线性表,九种栈的基本操作;分别是构造 销毁 清空 栈长 栈顶 插入 删除 遍历。下面就是代码实现:  //头文件 #include #include #incl...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

链式栈的基本操作——LinkStack(C语言版)

#include "stdafx.h" #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define M...

C语言实现栈操作

如果把栈看成一个标尺,每个元素对应了一个刻度 #include #include #define N 10 struct stack { int top;//记录栈中有多少个元素,data[t...

用C语言实现链栈的基本操作

用C语言实现链栈的基本操作

栈的基本操作(C语言版):入栈,出栈,输出栈

#include #define MAXN 10 int push(int *stack,int maxn,int *toppt,int x) //调用时不加&是因为push(&s,Maxn,&...

顺序栈的基本操作:初始化、进栈、出栈、读栈顶元素

顺序栈:利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时由于栈操作的特殊性,还必须附设一个位置指针top(栈顶指针)来动态地指示栈顶元素在顺序栈中的位置。通常以top=-1表示空栈。代码...

链栈:初始化、判断栈空、入栈、出栈、获取栈顶元素等

#include #include #define TRUE 1 #define FALSE 0 typedef int ElementType; typedef struct node {...

[数据结构]c语言实现顺序栈的入栈,出栈,清空,销毁等操作

/* 顺序栈 栈的抽象数据类型 ADT 栈(stack) Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系 Operation InitStack(*S):初始化操作...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
举报原因:
原因补充:

(最多只允许输入30个字)