第二章_线性表参考答案).doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 线性表 一、填空题 1、数据逻辑结构包括 线性结构 、 树型结构 、 图型结构 这三种类型,树形结构和图形结构合称为 非线性结构 。 2、在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 个前驱结点,最后一个结点 没有 后续结点,其余每个结点有且只有 一 个后续结点。 3、在顺序表中插入或删除一个元素,需要平均移动 一半 元素,具体移动的元素个数与 插入或删除的位置 有关。 4、在顺序表中,逻辑上相邻的元素,其物理位置 一定 相邻。在单链表中,逻辑上相邻的元素,其物理位置 不一定 相邻。 5、在带头结点的非空单链表中,头结点的存储位置由 头指针 指示,首元素结点的存储位置由 头结点的next域 指示,除首元素结点外,其它任一元素结点的存储位置由 其直接前趋结点的next域 指示。 6、阅读下列算法,并补充所缺内容。 void purge_linkst( ListNode *& la ) { // 从头指针为 la 的有序链表中删除所有值相同的多余元素,并释放被删结点空间 ListNode *p,*q; if(la==NULL) return; q=la; p = la->link; while (p) { if (p && ___(1)p->data!=q->data___) {q=p; p = p->link;} else { q->link= ___(2)p->link___; delete(p); p=___(3)q->link___; } }//while }// purge_linkst 二、选择题 1、在数据结构中,从逻辑上可以把数据结构分成 C 。 A、动态结构和静态结构 B、紧凑结构和非紧凑结构 C、线性结构和非线性结构 D、内部结构和外部结构 2、线性表的逻辑顺序与存储顺序总是一致的,这种说法 B 。 A、正确 B、不正确 3、线性表若采用链式存储结构时,要求内存中可用存储单元的地址 D 。 A、必须是连续的 B、部分地址必须是连续的 C、一定是不连续的 D、连续或不连续都可以 4、在以下的述叙中,正确的是 B 。 A、线性表的线性存储结构优于链表存储结构 B、二维数组是其数据元素为线性表的线性表 C、栈的操作是先进先出 D、队列的操作方式是先进后出 三、综合题 1、已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 A、在P结点后插入S结点的语句序列是((4)、(1)); B、在P结点前插入S结点的语句序列是((7)、(11)、(8)、(4)、(1)); C、在表首插入S结点的语句序列是((5)、(12)); D、在表尾插入S结点的语句序列是((9)、(1)、(6)或(11)、(9)、(1)、(6))(其中6的位置可变); (1)P->next=S; (2)P->next=S->next->next; (3)P->next=S->next; (4)S->next=P->next; (5)S->next=L; (6)S->next=NULL; (7)Q=P; (8)while(P->next!=Q) P=P->next; (9)while(P->next!=NULL) P=P->next; (10)P=Q; (11)P=L; (12)L=S; (13)L=P; 2、已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 A、删除P结点的直接后继结点的语句序列是(11、3、14); B、删除P结点的直接前驱结点的语句序列是(10、12、8、11、3、14); C、删除P结点的语句序列是(10、12、7、3、14); D、删除首元结点的语句序列是(12、11、3、14); E、删除尾元结点的语句序列是(9、11、3、14)或(12、9、11、3、14); (1)P=P->next; (2)P->next=P; (3)P->next= P->next ->next; (4)P = P->next ->next; (5)while(P->next!=NULL) P=P->next; (6)while(Q->next!=NULL) {P=Q;Q=Q->next}; (7)while(P->next!=Q) P=P->next; (8)while(P->next->next!=Q

文档评论(0)

lanhe8975915 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档