栈的定义: 一种只能在一端进行插入或删除操作的线性表被称为栈,其中允许删除或插入的一端为栈顶,另一端为栈底,栈底固定不变; 栈的特点:先进后出,例如弹夹,先装的子弹最后才能出; 按照存储结构可以分为两种栈: 顺序栈 链式栈 栈的结构体定义: 顺序栈: 链式栈: ps:有没有发现链式栈和单链表定义一模 ...
分类:
其他好文 时间:
2018-09-09 16:48:05
阅读次数:
170
本文根据《大话数据结构》一书,实现了Java版的栈的顺序存储结构、两栈共享空间、栈的链式存储机构。 栈:限定仅在表尾进行插入和删除操作的线性表。 栈的插入(进栈)和删除(出栈)操作如下图所示。 1.栈的顺序存储结构 用数组存放数据,top变量来指示栈顶元素在数组中的位置(栈顶指针)。一个长度为5的栈 ...
分类:
编程语言 时间:
2018-06-05 23:20:04
阅读次数:
275
#include<stdio.h>#include<malloc.h>typedefstructnode{ int*pBase; intlen;//数组最大容纳长度 inttop;//数组有效长度}stack,*Stack;voidinitStack(Stack,int);voidpush(Stack,int);voidpop(Stack,int*);boolstackEmpty(Stack);boolstackFull(Stack);voidmain(){..
分类:
编程语言 时间:
2016-10-23 15:17:52
阅读次数:
178
递归函数的定义:把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称做递归函数(递归函数必须有一个结束的条件,以免陷入无穷尽的递归中)。迭代和递归的区别是:?(1).迭代使用的是循环结构,递归使用的是选择结构。?(2).递归能使程序的结构更清晰、更简洁、更容易让人理解,从而减少读懂代码的时间。但是大量的递归调用会建立函数的副本,会耗费大量的时间和内存。?(3).迭代则不需要反复调用函数和...
分类:
编程语言 时间:
2015-08-27 23:12:15
阅读次数:
215
栈的定义:(特殊的线性表)??仅在表的一端进行插入和删除的线性表。允许插入、删除的这一端称为栈顶,另一端称为栈底。表中没有元素时称为空栈。??被称为后进先出的线性表(Last In First Out),简称 LIFO表,或被称为先进后出的线性表(First In Last Out),简称 FILO表。??栈更具存储方式的不同分为两种:顺序栈和链栈。顺序栈:
和顺序表一样,顺序栈也采用数组来存放数据...
分类:
编程语言 时间:
2015-07-21 10:47:55
阅读次数:
242
一。栈是限定仅在表尾进行插入和删除操作的线性表队列是只允许在一端进行插入操作,而在另另一端进行删除操作的线性表。允许插入和删除的一端称为栈顶,另一端称为栈底,不包含任何数据元素的栈称为空栈,栈称为后进先出LIFO结构 栈的抽象数据类型 ADT栈(stack) Data 同线..
分类:
其他好文 时间:
2015-04-12 06:59:47
阅读次数:
260
?基本概念
栈的定义
限定仅在表尾进行插入或删除的线性表
组成
栈顶
栈底
基本操作
入栈(PUSH)
往栈中插入一个元素
弹栈(POP)
从栈顶删除一个元素
栈的表示
顺序栈
链栈
对于顺序栈,有两...
分类:
其他好文 时间:
2014-06-02 22:28:26
阅读次数:
337