//笔试题
1. 一个函数想要给函数的调用者传递值 有____和____两种方式。
2. 如何避免头文件重复包含?
3. 顺序表和链表的相同点和不同点有哪些?
相同点: 都是线性表 逻辑结构:线性结构 一对一
不同点:
(1)顺序表存储结构是顺序存储,内存当中存储不连续的链表是链式存储,通过指针将
节点联系到一起,内存上存储不连续
(2)顺序表(数组)长度固定,链表不固定
(3)顺序表查找方便,但是插入和删除麻烦,链表插入和删除方便,但是查找麻烦
4. 线性表的特征是什么?
线性表: 顺序表 链表 栈(顺序栈和链式栈) 队列(顺序队列也叫循环队列和链式队列)
线性表的特征:一对一,每个节点最多有一个前驱和一个后继(首尾节点除外)
//////////////////////////////////////////////////////////////////////////////////////////////////////
/////////
1 队列(queue)
顺序队列(循环队列) 和 链式队列
1.1 什么是队列?
只允许在两端进行插入和删除操作的线性表,在队尾插入,在队头删除 插入的一
端,被称为"队尾",删除的一端被称为"队头"
在队列操作过程中,为了提高效率,以调整指针代替队列元素的移动,并将数组作
为循环队列的操作空间。
1.2 队列的特点
先进先出 FIFO first in first out
后进后出 LILO last
1.3 举例:
去银行办理业务,需要排队,有个先来后到,先来的先办业务
1.4 队列的操作
(1)创建一个空的队列
#define N 5
typedef int datatype;
typedef struct