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