- 12
- 0
- 约2.9千字
- 约 6页
- 2019-08-22 发布于福建
- 举报
第二章 线性表
一 填空题
1 在顺序表中插入或删除一个元素,需要平均移动( )个元素,具体移动的元素个数与( )有关
2 顺序表中逻辑上相邻的元素的物理位置( )相邻。单链表中逻辑上相邻的数据元素的物理位置( )相邻
3 在单链表中,除了头结点外,任一结点的存储位置由( )指示
二 判断题
1整个链表的存取必须从头指针开始。
2循环链表的算法中,循环条件是P或P-NEXT是否等于NULL。
3采用顺序存储结构的线性表可以随机存取。
4线性表采用链表存储时,结点和结点内部的存储空间都可以是不连续的。
三 对以下单链表分别执行下列程序段,并画出结果示意图
Q=P-next
L=P-next;
R-data=P-data;
R-data=P-next-data;
P-next-next-next-data=P-data
T=P; while(T!=NULL) {T-data=T-data*2; T=T-next;}
T=P; while(T-next!=NULL) {T-data=T-data*2; T=T-next;}
四 画出执行下列各行语句后各指针及链表的示意图,说明程序段的功能。
Struct node
{int data;
Struct node* next; };
L=(struct node*) malloc(sizeof(struct node));
P=L;
for(i=0;i=4;i++)
{ P-next=( struct node*) malloc(sizeof(struct node));
P=P-next; P-data=i*2-1; }
P-next=NULL;
}
五 判断题
1 不带头结点的单链表head为空的判定条件是___,带头结点的单链表head为空的判定条件是___,带头结点的单向循环链表head为空的判定条件是___。
A、 head = NULL B、 head - next = NULL
C、 head - next = head D、 head ! =NULL
2 非空的循环单链表head?的尾结点(由p所指向)满足___
A、 p - next = NULL B、 p = NULL
C、 p - next = head D、 p = head
3 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行___
A、 s - next = p - next ; p - next = s ;
B、 p- next = s - next ;s - next = p;
C、 q - next = s ; s - next = p ;
D、 p - next = s ; s - next = q ;
六 综合题
1已知L是无头结点的单链表,且P结点既不是第一个结点,也不是最后一个结点,试从下列提供的答案中选择合适的语句序列。
a.在P结点后插入S结点的语句序列是:
b.在P结点前插入S结点的语句序列是:
c.在表头插入S结点的语句序列是:
d.在表尾插入S结点的语句序列是:
(1)P-next=S;(2) P-next= P-next-next (3) P-next=S-next; (4)S-next= P-next; (5)S-next=L; (6)S-next=NULL;
(7)Q=L; while(Q-next!=p) Q=Q-next; (8) P=L;
(9)while(P-next!=NULL) P=P-next; (10)P=Q; (11)L=S;
2 已知L是带头结点的单链表,且P结点既不是第一个结点,也不是最后一个结点,试从下列提供的答案中选择合适的语句序列。
a.删除P结点的直接后继结点的语句序列是:
b.删除P结点的直接前驱结点的语句序列是:
c.删除P结点的语句序列是:
d.删除第一个结点的语句序列是:
e.删除最后一个结点的语句序列是:
第三章 栈和队列
一 选择题
1栈的插入和删除操作在_____进行。
A、 栈顶 B、 栈底
C、 任意位置 D、 指定位置
2 链栈与顺序栈相比有一个明显的优点,即___。
A、 插入操作更加方便 B、 通常不会出现栈满的情况
C、 不会出现栈空的情况 D、 删除操作更加方便
3 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(?)。 A、 edcba B、 decba
C、 dceab D、 abcde
原创力文档

文档评论(0)