栈是限制插入和删除仅仅能在一个位置上进行的表。该位置是表的末端,叫做栈的顶top。对栈的基本操作有进栈push和出栈pop,前者相当于插入。后者这是删除最后插入的元素。栈有时又叫先进先出FIFO表。 因为栈操作是常数时间。因此除非在特殊情况下,栈不会产生明显改进。栈的第一种实现方法是使用单链表。通过 ...
分类:
编程语言 时间:
2017-05-05 21:01:16
阅读次数:
234
引入外部文件和初始条件 顺序栈的存储结构:须有一个一维数组去存放栈中的基本元素,还要栈顶指针,用来存放栈顶元素的下标 接着开始栈的初始化 ...
分类:
其他好文 时间:
2017-04-22 15:48:49
阅读次数:
151
1.大纲 2.栈的定义 3.栈的特点 只能在栈顶进行插入 删除也是如此。 4.队列的特点 只能在队列的尾部添加 但是在头部进行删除。 5.栈的基本操作 6.栈的应用实现 二:具体的应用 1.数值转换 2.括号的匹配 3.行编辑器问题 这里出现退行与退格符。 4.迷宫求解 5.表达式求解 6.递归 三 ...
分类:
其他好文 时间:
2017-02-26 22:33:46
阅读次数:
220
这个栈是带有表头的栈。实现栈的一些规范操作,初始化,插入,删除等。包括两个头文件Stack.h,fatal.h,库函数Stack.c,测试函数TestStack.c。头文件放的都是函数声明,库函数Stack.c放的的函数的定义。 Stack.h fatal.h Stack.c TestStack.c ...
分类:
其他好文 时间:
2017-01-07 22:21:56
阅读次数:
203
前言: 本节为栈的应用举例,只包括代码实现部分 目录: 2.栈的应用举例 进制转换: 括号匹配: 正文: 进制转换实现代码: 注意:此函数要和上一节,栈的实现代码放在一起 括号匹配代码实现: 匹配代码在 CharMatch(char *pc) 函数内实现,其他部分都是栈的基本操作。 ...
分类:
其他好文 时间:
2016-12-20 13:53:17
阅读次数:
163
一、栈的定义 从数据结构角度看,栈也是线性表,其特殊性在于栈的基本操作都是线性操作的子集,它是操作受限的线性表。 栈(stack)是限定仅在表尾进行插入或删除操作的线性表。 栈一般分为两种: 静态栈:用数组实现; 动态栈:用链表实现。 一般用的比较多的都是动态栈。如果学会了链表,其实对栈的操作就比较 ...
分类:
编程语言 时间:
2016-10-29 21:56:28
阅读次数:
251
上周的第二个作业补上~~ 上周的要求: 1.给出顺序栈的存储结构定义。 2.完成顺序栈的基本操作函数。 1) 初始化顺序栈 2) 实现入栈和出栈操作 3) 实现取栈顶元素和判空操作 把十进制整数转换为r(r=2)进制输出 3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据的输出结 ...
分类:
其他好文 时间:
2016-10-24 02:30:45
阅读次数:
126
本周老师作业留了两个。先上传一个吧。那个有时间我再传上来~ 本周的要求: 1.给出顺序栈的存储结构定义。 2.完成顺序栈的基本操作函数。 1) 初始化顺序栈 2) 实现入栈和出栈操作 3) 实现取栈顶元素和判空操作 括号匹配问题 3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据 ...
分类:
其他好文 时间:
2016-10-14 23:39:04
阅读次数:
203
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdbool.h>
typedefstructNode
{
intdata;
structNode*pNext;
}NODE,*PNODE;
typedefstructStack
{
PNODEpTop;
PNODEpBottom;
}STACK,*PSTACK;//PSTACK等价于structSTACK*
voidi..
分类:
编程语言 时间:
2016-10-11 00:07:46
阅读次数:
174
最近新学习到了栈,对于栈的理解比较浅显,这里说一下栈的基本操作,用了进制转换的例子: 以十进制为例子,例如:(1348)10=(2504)8 运算过程:N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 下面是代码部分: 1.定义栈 2.初始化栈 3 ...
分类:
其他好文 时间:
2016-10-05 17:21:18
阅读次数:
221