第二章线性表作业
- 格式:doc
- 大小:29.00 KB
- 文档页数:4
第二章线性表(作业)
一、判断题
1.线性表的逻辑顺序与物理顺序总是一致的。
2.线性表的顺序存储表示优于链式存储表示。
3.线性表若采用链式存储表示。时所有存储单元的地址可连续可不连续。
4.每种数据结构都应具备三种基本运算:插入、删除和搜索。
5.线性表的特点是每个元素都有一个前驱和一个后继。
6.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
二、填空题
1.线性表(a1,a2,…,an)有两种存储结构:()和()。()存储密度较大,()存储利用率较高,()可随机存取,()不可随机存取,()插入和删除操作比较方便。
2.在单链表中,删除指针p所指结点的后继结点的语句是:()
3.带头结点的单循环链表Head的判空条件是()。
4.画出下列数据结构的图示:①顺序表②单链表③双链表④循环链表
5.在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动()个元素。
6.对于双向链表,在两个结点之间插入一个新结点需修改的指针共()个,单链表为()个。
7.带头结点的双循环链表L中只有一个元素结点的条件是:()
8.在单链表L中,指针p所指结点有后继结点的条件是:()
9.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用()存储结构。
10.链接存储的特点是利用()来表示数据元素之间的逻辑关系。
三、选择题
1.设单链表中结点的结构为(data,next)。已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?
A:s->next=p->next; p->next=s;
B: q->next=s; s->next=p;
C: p->next=s->next; s->next=p;
D: p->next=s; s->next=q;
2.设单链表中结点的结构为(data,next)。已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作?
A:s-> next =p; p-> next =s;
B:s-> next =p-> next; p-> next =s;
C:s-> next =p-> next; p=s;
D:p-> next =s; s-> next =p;
3.设单链表中结点的结构为(data,next)。若想摘除结点*p的直接后继,
则应执行下列哪一个操作?
A:p->next=p->next->next;
B:p=p->next; p->next=p->next->next;
C:p->next=p->next;
D:p=p->next->next;
4.设单链表中结点的结构为(data,next)。且rear是指向非空的带表头结点的单循环链表的尾结点的指针,若想删除链表第一个结点,则应执行下列哪一个操作?
A:s=rear; rear=rear->next; free(s);
B:rear=rear->next; free(rear);
C:rear=rear->next->next; free(rear) ;
D:s=rear->next->next; rear->next->next=s->next; free(s);
5.设双向循环链表中结点的结构为(data,prior,next),且不带头结点。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?
A:p->next=s; s->prior=p; p->next->prior=s; s-next=p->next;
B:p->next=s; p->next->prior=s; s->prior=p; s-next =p->next;
C:s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
D:s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;
6.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表
B.双链表
C.带头结点的双循环链表
D.单循环链表
7.在双向链表存储结构中,删除p所指的结点时须修改指针()。A.(p->prior)->next:=p->next;(p->next)->prior:= p->prior;
B.p->prior:=(p->prior)->prior;(p->prior)->next:=p;
C.(p->next)->prior:=p;p->next:=(p->next)->next
D.p->next:=(p->prior)->prior;p->prior:=(p->next)->next;