一、填空题(每空1分,共10分)
1、在线性表的下列运算中,不改变数据元素之间结构关系的运算是( D )
A、插入 B、删除 C、排序 D、定位
2、顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )
A.110 B.108 C.100 D.120
3、线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D )
A.必须是连续的 B.部分地址必须是连续的 R.27
C.一定是不连续的 D.连续或不连续的都可以
4、单链表中,增加一个头结点的目的是为了( C )
A、使单链表至少有一个结点 B、标识表结点中首结点的位置
C、方便运算的实现 D、说明单链表是线性表的链式存储
5、线性表L在( B )情况下适用于使用链式结构实现。
A、需经常修改L中的结点值 B、需不断对L进行删除插入
C、L中含有大量的结点 D、L中结点结构复杂
6、在一个长度为n的顺序存储的线性表中,在第i个元素(1<=i<=n+1)之前插入一个新元素时,需要向移动(B)个素。
A、n-i B、n-i+l C、n-i-1 D、i
7、线性表的顺序存储结构是一种( A )的在储结构。
A、随机存取 B、顺序存取 C、索引存取 D、散列存取
8、在单链表中,要将s所指结点插入到p所指结点之后,其语句应该为(C)
A、(*p).next=s;(*s).next=(*p).next;
B、s->next=p->next; p->next=s->next;
C、s->next=p->next;p->next=s;
D、s->next=p+1;p->next=s;
9.对一个头指针为head的头结点的单链表,在( B ) 0成立时该表为空表。
A. head=NULL B head->next=NULL
C.head->next=head D. head!=NULL
10、在一个以L为头指针的单循环链表中,p指针指向链尾的条件是(A)
A、p->next==L B.p->next=NULL C.p->next>=L D.p->data=-1
二、简答题(共10分)
1、请描述以下三个概念的区别:头指针、头结点、首元结点。(3分)
头指针:指示链表中第一个结点的存储位置
头结点:单链表第一个结点前附设的一个结点
首元结点:存放第一个数据元素
2、(1)何为线性表结构、它有什么特点?(2分)什么是顺序表、其特点是怎样的?(2分)
线性表:n个数据元素的有限序列
特点:同一、有序
顺序表:用地址连续的存储单元依次存储
随机存取
3.简述线性表的链式存储结构、其表现方式?链表有哪几种类型、其特点是怎样的?(3分)