数据结构
sylarCode
这个作者很懒,什么都没留下…
展开
-
队列
队列是一种先进先出的数据结构,FIFO(first-in-first-out). 1.实现方式 1.1 循环队列 在顺序队列的基础上,把整个线性空间模拟连成一个环 #define MAXSIZE 100 struct SqQueue{ int front; int rear; Ele *base; }; front指向队头元素,rear指向队尾元素的...原创 2018-08-01 13:52:09 · 156 阅读 · 0 评论 -
链表
1:链表 1.1单链表 1.2双向链表 2:STL中的链表 2.1 list 2.1.1 操作 2.2 slist 3:经典算法题 1:链表 对比数组,插入删除等操作代价为O(1),随机存取的代价为O(n)。常见链表有单链表,双向链表,循环链表等。 常见链表操作、有:创建,插入,删除,遍历,逆转,排序等等 1.1单链表 定义: struct Li...原创 2018-07-31 11:44:05 · 183 阅读 · 0 评论 -
栈
栈是一种先进后出的数据结构,FILO(first-in-last-out)。 1.实现方式 1.1 顺序栈 base指向栈底,top指向栈顶元素的下一个。 //const int MAXSIZE = xx; struct SeqStack{ Ele * base; Ele * top; int stacksize; }; 对于顺序栈,也可以动态增加...原创 2018-08-01 15:25:30 · 154 阅读 · 0 评论 -
堆和优先队列
1.堆 1.1关键操作 1.1.1插入 1.1.2删除 1.1.3创建 1.2 STL heap 2.优先队列 1.堆 从结构上来说是一种完全二叉树(假设树有n层,前n-1层元素塞满,第n层所有元素靠着左边) 根据排序方式分为最大堆和最小堆。最大堆定义是父节点比它的子节点要大 1.1关键操作 堆主要有两种关键的操作 1.1.1插入 将新插入的元素放入二叉树的最...原创 2018-08-02 19:38:41 · 231 阅读 · 0 评论 -
STL之vector
vector知识总结原创 2017-11-02 21:06:58 · 201 阅读 · 0 评论 -
STL之deque
deque是一种双向开口的数据结构,所谓双端开口,它指可以轻易从两端进行push,pop操作. 1实现方式 1.1deque整体结构 deque从逻辑上来说是连续线性空间,实际来说由一段段的定量连续空间构成,deque负责维护整个整体的连续性。 deque采用一段连续的map空间(不是stl的map)作为主控,map存储着里n个元素,每个元素都是一个指针,指向一片连续的内存空间。如下图...原创 2018-08-01 18:02:11 · 212 阅读 · 0 评论