数据结构 学习笔记之:顺序栈的C语言实现
来源:互联网 发布:郑州java培训排名 编辑:程序博客网 时间:2024/04/27 08:06
//////////////////////////////////////////////////////////////////////////////////
更多原创“uC/OS-II学习笔记之:系列”基础及嵌入式相关知识详解,请访问可乐虎博客:
http://blog.csdn.net/dcx1205
相信不会让您失望!!//////////////////////////////////////////////////////////////////////////////////
//写篇顺序栈,与大家共勉!//不足错误之处,望指教!#include <stdio.h>#include <math.h>#include <stdlib.h> #define TRUE 1#define FALSE 0#define STACK_SIZE 5typedef int ElementType; //定义结构体typedef struct SeqStack { ElementType array[STACK_SIZE]; ElementType top;}SEQSTACK; //初始化顺序栈bool InitStack(SEQSTACK *pS){ if (!pS)//内存分配失败 { return FALSE; } pS->top = -1; return TRUE;}//判断是否为空bool IsEmpty(SEQSTACK *pS){ if (pS->top < 0) { return TRUE; } else { return FALSE; }}//判断是否为满bool IsFull(SEQSTACK *pS){ if (pS->top == STACK_SIZE-1) { return TRUE; } else { return FALSE; }}//压栈(入栈)bool PushStack(SEQSTACK *pS, ElementType element){ if (IsFull(pS)) { return FALSE; } pS->top++; pS->array[pS->top] = element; return TRUE;}//出栈ElementType PopStack(SEQSTACK *pS){ ElementType element; if (IsEmpty(pS)) { return FALSE; } element = pS->array[pS->top]; pS->top--; printf("element=%d\n", element); return element;}//获取栈顶元素ElementType GetTop(SEQSTACK *pS){ ElementType element; if (IsEmpty(pS)) { return FALSE; } element = pS->array[pS->top]; printf("element=%d\n", element); return element;}//置空顺序栈void SetEmpty(SEQSTACK *pS){ pS->top = -1; return;}//遍历顺序栈bool TraStack(SEQSTACK *pS){ ElementType element; if (IsEmpty(pS)) { return FALSE; } while (pS->top > -1) { element = pS->array[pS->top]; pS->top--; printf("element=%d\n", element); } return TRUE;}//主函数int main(void){ SEQSTACK *pS;//定义一个指向结构体变量的指针 pS = (SEQSTACK *)malloc(sizeof(SEQSTACK)); //下面函数的参数使用p和&pS是等效的 InitStack(pS);//初始化 PushStack(pS, 1);//压栈 PushStack(pS, 2); PushStack(pS, 3); PushStack(pS, 4); PushStack(pS, 5); GetTop(pS);//取栈顶元素 printf("\n"); PopStack(pS);//出栈 printf("\n"); TraStack(pS);//遍历栈 free(pS);//释放pS所占内存空间 return 0;}
- 数据结构 学习笔记之:顺序栈的C语言实现
- 数据结构C语言实现之顺序栈
- 数据结构之---c语言实现栈的顺序存储
- <数据结构>顺序栈的C语言实现
- C语言数据结构之:顺序表的实现
- 数据结构之---c语言实现线性表的顺序表
- 数据结构之---C语言实现串的顺序存储
- 数据结构之---C语言实现二叉树的顺序存储
- 数据结构C语言实现之顺序表
- 数据结构学习系列四-顺序栈(c语言实现)
- C语言学习之数据结构栈的实现
- <数据结构>顺序列表的C语言实现
- [c语言]数据结构 顺序表的实现
- 数据结构--C语言实现栈的顺序存储结构
- 数据结构--顺序栈的实现(C语言)
- C语言实现数据结构中的顺序栈
- 数据结构--顺序栈实现(c语言)
- 数据结构-顺序栈-C语言实现
- 国外几款Scrum工具初探
- Google技术知多少
- 电子书下载:MySQL Stored Procedure Programming
- TI多媒体高性能处理器omap,am,dm的TRM的最新缩写词
- jsp指令与脚本元素
- 数据结构 学习笔记之:顺序栈的C语言实现
- 从逆向分析角度看C++拷贝构造函数
- 【PHP】列数字之碰到break
- 有哪几种情况只能用intialization list 而不能用assignment
- 有害的健康生活习惯
- 使用 OpenCL.Net 进行 C# GPU 并行编程
- Appserv安装图解教程(PHP)
- C#程序执行EXE文件
- java中的sizeof