数据结构
雨者
纸上得来终觉浅,绝知此事要躬行。
展开
-
数据结构 -- 队列 & 循环队列 -- 数组实现
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(tail)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 以数组实现的队列结构,如果是普通队列,频繁增删元素,会造成数组内存空间的大量流失,所以便有了循环队列,以填补流失的内存空间。 以下为实现普通队列与循环队列的代码: 1.原创 2017-07-29 18:07:58 · 273 阅读 · 0 评论 -
数据结构 -- 链表&双向链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但原创 2017-08-07 18:08:29 · 489 阅读 · 0 评论 -
数据结构 -- 栈的数组实现法
栈(Stack)是一种线性存储结构,它具有如下特点: 栈中的数据元素遵守”先进后出"(First In Last Out)的原则,简称FILO结构。限定只能在栈顶进行插入和删除操作。 下面将使用c++实现栈的结构与入栈出栈等操作: 参考代码: #include #include #include using namespace std; #define原创 2017-07-27 22:34:25 · 330 阅读 · 0 评论