今天主要学习了内核链表,顺序栈,链式栈,顺序队列,链式队列的相关内容。
一.内核链表
内核链表和之前的单向,双向链表有所不同的是内核链表的结构是数据包含节点,特点如下:
1.一种链表结构能够操作多种类型的数据对象
2.节点包含数据变成数据包含节点
相关图解如下:
如利用内核链表实现对学生信息的插入,并完成打印,代码示例如下:
定义的相关函数接口可查看内核链表的开源代码。
二. 栈(FILO:先进后出)
栈和队列都是特殊的表状结构,和之前叙述的顺序表链式表一致,但特点在于顺序表链式表表可以在任意位置插入和删除,而栈和队列只允许在固定位置插入和删除。
特点:FILO
先进后出,后进先出
栈顶:允许入栈出栈的一端称为栈顶
栈底:不允许入栈和出栈的一端称为栈底
入栈(压栈):将数据元素放入栈顶
出栈(弹栈):将数据元素从栈顶位置取出
分类:
空增栈
空减栈
满增栈
满减栈
顺序栈的代码示例如下:
链式栈(内核链表)的相关代码如下:
三.队列
队列大致和栈相同,唯一不同是队列为FIFO(先进先出,后进后出),使用内核链表完成队列的入队和出队操作的相关代码如下: