数据结构相关

一、线性表的链式存储及相关操作 C语言版

二、C语言实现双向链表的基本操作

三、面试题

1.       在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:
q=head;
while (q->next!=p)  q=q->next;
s= new  Node;   s->data=e;
q->next=     ;    //填空
s->next=     ;    //填空


2.       线性表的顺序存储结构是一种    的存储结构,而链式存储结构是一种___的存储结构。
A.随机存取     B.索引存取   C.顺序存取   D.散列存取


3.       线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。
A. 必须是连续的      B. 部分地址必须是连续的
C. 一定是不连续的    D. 连续或不连续都可以

4.       在一个单链表中,已知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;


5.       在一个单链表中,若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;      C. p->next=s;  s->next=p;


6.       在一个单链表中,若删除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;

7.       链表不具备的特点是 ____ 。
A 可随机访问任何一个元素              B 插入、删除操作不需要移动元素
C 无需事先估计存储空间大小              D 所需存储空间与线性表长度成正比

8.       以下关于线性表的说法不正确的是   。 
A 线性表中的数据元素可以是数字、字符、记录等不同类型。 
B 线性表中包含的数据元素个数不是任意的。 
C 线性表中的每个结点都有且只有一个直接前趋和直接后继。 
D 存在这样的线性表:表中各结点都没有直接前趋和直接后继。

9.       在一个长度为n的顺序表中删除第i个元素,要移动    个元素。如果要在第i个元素前插入一个元素,要后移( )个元素。 N-I N-I+1

答案:

1.q->next=s;
  s->next=p;
2.A/C(这题是考察对概念的理解,可参考第7题,“顺序表才能随即存取,而链表不可以”)
3.D
4.C
5.B
6.A
7.A(此题绝对选A,因为链表只能根据他的前一个结点才能找到下一个结点,不具备随即访问元素的功能)
8.C
9.n-i;  n-i+1

你可能感兴趣的:(数据结构,存储,面试,语言,c,面试,C语言)