基本数据结构之-顺序栈 栈是一种先进后出的数据结构,我们可以使用一个数组来模拟栈的这种结构,将数组的尾部当做栈的栈顶似乎是一个不错的选择(插入和移除元素是不涉及到数据的移动),也可以很好的控制数组的长度,和数据的进栈和出栈! 首先先解析一下顺序栈的数据结构 1 需要一个数据域来存储数据 考虑到可能存 ...
分类:
其他好文 时间:
2016-10-02 06:38:03
阅读次数:
205
数据结构顺序栈的实现(C语言版) 1.写在前面 栈是一种遵循元素先进(Push)后出(Pop)规则的线性表,它的实现可以用数组或者链表。 ..... 2.代码分解 2.1对栈的结构定义: |说明: 1.base表示栈底指针,在判断出栈、初始化和重新分配空间的时候需要用到。 2.top表示栈顶指针,是 ...
分类:
其他好文 时间:
2016-09-24 16:13:38
阅读次数:
99
/*注意 声明结构体时,struct node l 函数用f(&l)参数必须带取地址符 传参时 传的是结构体首地址 若要使用指针指向结构体那必须为这个结构体分配动态内存 否则 无法使用 顺序栈:利用一组连续的存储单元依次存放自栈底到栈顶的数据元素;由于栈顶元素是经常变动的,所以附设top指示栈顶元素 ...
分类:
其他好文 时间:
2016-09-13 06:46:27
阅读次数:
123
1.类型定义: typedef int ElemType; typedef struct{ ElemType *elem; int top; int size; int increment; }SqStack; 调用:SqStack S; 栈窗口: 2.初始化: //初始化顺序栈 Status In ...
分类:
其他好文 时间:
2016-08-06 17:26:54
阅读次数:
169
以前参照weiss的《数据结构与算法分析》写过两篇随笔 栈ADT的链表实现 栈ADT的数组实现 因为考研的缘故,现在看了严蔚敏的《数据结构 c版》也跟着写了一遍,原理都类似 链栈: /*链栈*/ typedef status typedef struct node Stack; typedef st ...
分类:
其他好文 时间:
2016-06-16 17:43:07
阅读次数:
165
如果有足够空间用于扩大mem_address指向的内存块,则分配额外内存,并返回mem_address。这里说的是“扩大”,我们知道,realloc是从堆上分配内存的,当扩大一块内存空间时, realloc()试图直接从堆上现存的数据后面的那些字节中获得附加的字节,如果能够满足,自然天下太平。也就是 ...
分类:
其他好文 时间:
2016-06-14 19:18:26
阅读次数:
515
#include<iostream> template<class T>class SqStack{protected: int count; int maxSize; T *elem;public: SqStack(int size); ~SqStack(); int Length(){ retu ...
分类:
其他好文 时间:
2016-05-31 16:03:37
阅读次数:
141