![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 68
chenyzcs
这个作者很懒,什么都没留下…
展开
-
单链表
单链表 链表是由结点链接而成,每个结点包含指针域和数据域,其中数据域存储数据元素信息,指针域存储直接后继位置。 我们将链表种第一个结点的存储位置叫做头指针,为了更加方便地对链表进行操作,将会在第一个结点前增加一个结点,称为头结点。1.定义结点类struct ListNode { int val; ListNode *next; ListNode(int x=0xFFFF)原创 2017-02-09 20:18:12 · 202 阅读 · 0 评论 -
栈
栈栈实际上也是一种线性结构,可以使用链表进行描述。与之不同的是栈结构的压栈(插入)和弹栈(删除)操作只能基于栈顶的数据元素。故栈是一种先进后出的数据结构。1.定义结点类struct StackNode { int val; StackNode *next; StackNode(int x = 0xFFFF) :val(x), next(nullptr) {}原创 2017-02-12 14:00:41 · 143 阅读 · 0 评论 -
链式队列
链式队列队列实际上也是一种线性存储结构,它的特点是进队总是在队尾,出队总是在队头。参考实际生活中的买票排队过程非常容易理解。这里用链表实现了队列。1.定义结点类struct QueueNode { int data; QueueNode *next; QueueNode(int x = 0xFFFF) :data(x), next(nullptr) {} };原创 2017-02-15 11:00:02 · 232 阅读 · 0 评论 -
二叉树的构造与遍历
二叉树的构造与遍历二叉树是指一个树结点最多只有两个子结点的数据结构,分别称为左子结点,右子结点。抽象来看每个结点拥有左子树、右子树。本文所记录的二叉树的构造与遍历均为递归定义。1.定义结点类struct TreeNode { int data; TreeNode *lchild, *rchild; TreeNode(int x = '#') :data(x)原创 2017-02-23 20:11:50 · 402 阅读 · 0 评论