昨天写个程序用到栈,奈何老师只让用C,现成的STL不能用,只好自己写一个了,发现顺序栈写起来比链栈要简单一些.
stack.h
/* ** Header file for stack ** Written by santos at 2013.3.24 */ #ifndef STACK_H #define STACK_H #define STACK_SIZE 100 typedef int ElementType; typedef struct { ElementType data[STACK_SIZE]; int top; }Stack; void InitStack(Stack *s); int IsEmpty(Stack *s); int IsFull(Stack *s); void Push(Stack *s, ElementType element); ElementType Pop(Stack *s); ElementType GetTop(Stack *s); #endif
stack.c
/* ** Definition file for stack ** Written by santos at 2013.3.24 */ #include "stack.h" #include <stdio.h> void InitStack(Stack *s) { s->top = -1; } int IsEmpty(Stack *s) { if (s->top == -1) return 1; else return 0; } int IsFull(Stack *s) { if (s->top == STACK_SIZE - 1) return 1; else return 0; } void Push(Stack *s, ElementType element) { if (!IsFull(s)) { s->top++; s->data[s->top] = element; } else printf("The stack is full!\n"); } ElementType Pop(Stack *s) { if (!IsEmpty(s)) return s->data[s->top--]; else { printf("The stack is empty!\n"); return -1; } } ElementType GetTop(Stack *s) { if (!IsEmpty(s)) return s->data[s->top]; else { return -1; } }
相关推荐
用c实现顺序栈 c实现顺序栈 c顺序栈 顺序栈实现 用c实现顺序栈 c实现顺序栈 c顺序栈 顺序栈实现
用 C 语言实现顺序栈的示例。它包含了顺序栈的各种基本操作,包括初始化、判断是否为空、获取长度、清空、销毁、入栈和出栈。 以下是代码的主要功能: InitStack:初始化顺序栈,分配内存空间。 StackEmpty:判断栈...
顺序栈是栈的一种类型,这里采用C++的模板来实现顺序栈
顺序栈的基本操作的实现,这个程序中演示了顺序栈的初始化、顺序栈的创建、删除、查找以及输出等功能。使用c语言所写。
编写一个程序,实现顺序栈的各种基本运算,并在基础上完成以下功能: 1)初始化顺序栈; 2)判断顺序栈是否为空; 3)依次进栈元素a,b,c,d,e; 4)判断顺序栈是否为空; 5)输出栈长度; 6)输出从栈顶到栈底的元素; 7)...
顺序栈入栈出栈实现源码
使用顺序线性表实现,含有如下功能: 1.创建栈; 2.销毁栈; 3.清空栈; 4.进栈; 5.出栈; 6.获取栈顶元素; 7.获取栈的大小。
其c程序实现了顺序栈的基本操作,可用Microsoft Visual C++6.0 直接打开即可运行
C语言 栈的实现,文章《也没想象中那么神秘的数据结构-后来居上的“栈”》系列示例代码
C语言实现顺序栈 顺序栈的常规操作 Stack InitStack(); // 初始化栈 int StackFull(); // 判断栈满 int StackEmpty(); // 判断栈空 int StackLength(); // 求栈长(栈元素个数) int Push(); ...
顺序栈实现源码 ,分别用C、C++、JAVA实现。
数据结构中顺序栈基本功能的C实现,采用菜单格式,便于操作
1、 定义顺序栈类。 2、 实现如下算法: 1) 创建顺序栈; 2)插入操作:向栈顶压入值为 x 的元素; 3) 删除操作: 弹出栈顶元素,将数据输出在屏幕上; 4) 存取操作:读取栈顶元素,将数据输出在屏幕上;。 3、 ...
2、 实现如下算法: 1)创建顺序栈; 2)插入操作:向栈顶压入值为 x 的元素; 3)删除操作:弹出栈顶元素,将数据输出在屏幕上; 4)存取操作:读取栈顶元素,将数据输出在屏幕上;。 3、 为了增强程序的可读性,...
C语言-顺序栈实现十进制转换为二进制-八进制-十六进制
设计一个算法,用一个栈s将-一个队列Q逆置: (1)要求采用顺序栈和循环队列来实现。 (2)要求采用链栈和链队列来实现。
顺序栈的代码,分为c文件和h文件,其中c文件用于实现代码
基本的进栈、出栈、显示栈元素.......
应用顺序栈,编程实现由十六进制到二进制的转换,C完整程序
实现顺序栈的创建(初始化)、压入(插入)、弹出(删除)操作。