1、表左的s指向起始表元。 表元编号货号数量表元间联系1 618 40 2 205 3 3 103 15 4 501 20 5 5 781 17 6 910 24 0表1s 1 4 表23表3s 表4 供选择的答案:A.连续 B.单向链接 C.双向链接 D.不连接 E.循环链接 F.树状 G.网状 H.随机 I.顺序 J.顺序循环【上海海运学院 1995 二、1(5分)】12.(1) 静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。 (2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。 (3) 静态链表与动态链表在元素的插入、删除上
2、类似,不需做元素的移动。以上错误的是( )【南京理工大学 2000 一、3(1.5分)】 A(1),(2) B(1) C(1),(2),(3) D.(2)13. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1=iLlink=q;q-Rlink=p;p-Llink-Rlink=q;Llink=q;B. p-Llink=p-Llink;C. q-D. q-24在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )。Ap-next=s;s-next=p-next; B s-Cp-next=s- D p-【青岛大学 2001 五、3(2分)】
3、25对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )Ahead=NULL Bheadnext=NULL Cheadnext=head Dhead!=NULL【北京工商大学 2001 一、5(3分)】26. 在双向链表存储结构中,删除p所指的结点时须修改指针( )。A (p.llink).rlink:=p.rlink (p.rlink).llink:B p.llink:=(p.llink).llink (p.llink).rlink:C (p.rlink).llink:=p p.rlink:=(p.rlink).rlinkD p.rlink:=(p.llink).llin
4、k p.llink:=(p.rlink).rlink;【西安电子科技大学 1998 一、1(2分)】27. 双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是( )(链中结点数大于2,p不是第一个结点)Ap.llink.rlink:=p.rlink; dispose(p);Bdispose(p); p.llink,rlink:Cp.llink.rlink:D以上A,B,C都不对。 【南京理工大学 1997 一、1(2分)】二、判断1. 链表中的头结点仅起到标识的作用。【南京航空航天大学 1997 一、1(1分)】2.
5、 顺序存储结构的主要缺点是不利于插入或删除操作。【南京航空航天大学1997 一、2(1分)】3线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。【北京邮电大学 1998 一、2(2分)】4顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。【北京邮电大学 2002 一、2(1分)】5. 对任何数据结构链式存储结构一定优于顺序存储结构。【南京航空航天大学 1997 一、3(1分)】6顺序存储方式只能用于存储线性结构。【中科院软件所 1999 六、1-2(2分)】【上海海运学院 1997 一、1(1分)】7集合与线性表的区别在于是否按关键字排序。【大连海事大学 2001 一、5
6、 ( 1分)】8. 所谓静态链表就是一直不发生变化的链表。【合肥工业大学 2000 二、1(1分)】9. 线性表的特点是每个元素都有一个前驱和一个后继。【合肥工业大学2001 二、1(1分)】10. 取线性表的第i个元素的时间同i的大小有关. ( )【南京理工大学 1997 二、9(2分)】11. 循环链表不是线性表. ( )【南京理工大学 1998 二、1(2分)】12. 线性表只能用顺序存储结构实现。【青岛大学 2001 四、2(1分)】13. 线性表就是顺序存储的表。【青岛大学 2002 一、1(1分)】14为了很方便的插入和删除数据,可以使用双向链表存放数据。【上海海运学院 1995
7、一、1(1分)】 【上海海运学院 1997 一、2(1分)】15. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。 【上海海运学院 1996 一、1(1分)】 【上海海运学院 1999 一、1(1分)】16. 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。 ( ) 【上海海运学院 1998 一、2(1分)】三、填空1当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_存储结构。【北方交通大学 2001 二、4】2线性表L=(a1,a2,an)用数组表示,假定删除表中任一元素的概率相同,则删除一
8、个元素平均需要移动元素的个数是_。【北方交通大学 2001 二、9】3设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句:_; _;【华中理工大学 2000 一、4(2分)】4在一个长度为n的顺序表中第i个元素(10 DO BEGIN (2); (3); (4); (5); read(k) END;q.next:=NIL;【北京师范大学 1999 三】21. 已给如下关于单链表的类型说明: TYPE list=node ;node=RECORD data:
9、integer; next: list; 以下程序采用链表合并的方法,将两个已排序的单链表合并成一个链表而不改变其排序性(升序),这里两链表的头指针分别为p和q.PROCEDURE mergelink(VAR p,q:list): VAR h,r: (1)_ h.next:= NIL; r:=h; WHILE(pNIL) AND (qNIL) DO IF (p.data=q.data)THEN BEGIN (2)_; p:=p.next; END ELSE BEGIN (3)_;=q.next; IF (p=NIL) THEN r.next: (4)_;=h.next; dispose(h);
10、【厦门大学 2000 三、2 (8分)】22假设链表p和链表q中的结点值都是整数,且按结点值的递增次序链接起来的带表头结点的环形链表。各链表的表头结点的值为max,且链表中其他结点的值都小于max,在程序中取max为9999。在各个链表中,每个结点的值各不相同,但链表p和链表q可能有值相同的结点(表头结点除外)。下面的程序将链表q合并到链表p中,使得合并后的链表是按结点值递增次序链接起来的带表头结点的环形链表,且链表中各个结点的值各不相同。请在划线处填上适当内容,每个框只填一个语句或一个表达式,链表的结点类型如下TYPE nodeptr=nodetype; nodetype=RECORD li
11、nk:nodeptr;CONST max=9999;PROCEDURE merge(VAR p:q:nodeptr); VAR r,s: nodeptr; BEGIN WHILE (A)_ DOWHILE r.link.dataq.link.data THEN BEGIN s:=(C)_; (D)_:=s.link; s.link:=(E)_; (F)_ _: (G)_; ELSE BEGIN (H)_; s:=q.link; (I)_; dispose(s) END dispose(q)【复旦大学 1997 五(18分)】23PROC ins_linklist(la:linkisttp; i:integer; b:elemtp);la为指向带头结点的单链表的头指针,本算法在表中第i个元素之前插入元素bp:=(1) ; j:=(2) ;指针初始化,j为计数器WHILE (p=0)之后插入一个元素为x的结点,请在答案栏给
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1