数据结构期末习题.docVIP

  • 12
  • 0
  • 约2.9千字
  • 约 6页
  • 2019-08-22 发布于福建
  • 举报
第二章 线性表 一 填空题 1 在顺序表中插入或删除一个元素,需要平均移动( )个元素,具体移动的元素个数与( )有关 2 顺序表中逻辑上相邻的元素的物理位置( )相邻。单链表中逻辑上相邻的数据元素的物理位置( )相邻 3 在单链表中,除了头结点外,任一结点的存储位置由( )指示 二 判断题 1整个链表的存取必须从头指针开始。 2循环链表的算法中,循环条件是P或P-NEXT是否等于NULL。 3采用顺序存储结构的线性表可以随机存取。 4线性表采用链表存储时,结点和结点内部的存储空间都可以是不连续的。 三 对以下单链表分别执行下列程序段,并画出结果示意图 Q=P-next L=P-next; R-data=P-data; R-data=P-next-data; P-next-next-next-data=P-data T=P; while(T!=NULL) {T-data=T-data*2; T=T-next;} T=P; while(T-next!=NULL) {T-data=T-data*2; T=T-next;} 四 画出执行下列各行语句后各指针及链表的示意图,说明程序段的功能。 Struct node {int data; Struct node* next; }; L=(struct node*) malloc(sizeof(struct node)); P=L; for(i=0;i=4;i++) { P-next=( struct node*) malloc(sizeof(struct node)); P=P-next; P-data=i*2-1; } P-next=NULL; } 五 判断题 1 不带头结点的单链表head为空的判定条件是___,带头结点的单链表head为空的判定条件是___,带头结点的单向循环链表head为空的判定条件是___。   A、 head = NULL  B、 head - next = NULL   C、 head - next = head  D、 head ! =NULL 2 非空的循环单链表head?的尾结点(由p所指向)满足___ A、 p - next = NULL  B、 p = NULL   C、 p - next = head   D、 p = head 3 在一个单链表中,已知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 ; 六 综合题 1已知L是无头结点的单链表,且P结点既不是第一个结点,也不是最后一个结点,试从下列提供的答案中选择合适的语句序列。 a.在P结点后插入S结点的语句序列是: b.在P结点前插入S结点的语句序列是: c.在表头插入S结点的语句序列是: d.在表尾插入S结点的语句序列是: (1)P-next=S;(2) P-next= P-next-next (3) P-next=S-next; (4)S-next= P-next; (5)S-next=L; (6)S-next=NULL; (7)Q=L; while(Q-next!=p) Q=Q-next; (8) P=L; (9)while(P-next!=NULL) P=P-next; (10)P=Q; (11)L=S; 2 已知L是带头结点的单链表,且P结点既不是第一个结点,也不是最后一个结点,试从下列提供的答案中选择合适的语句序列。 a.删除P结点的直接后继结点的语句序列是: b.删除P结点的直接前驱结点的语句序列是: c.删除P结点的语句序列是: d.删除第一个结点的语句序列是: e.删除最后一个结点的语句序列是: 第三章 栈和队列 一 选择题 1栈的插入和删除操作在_____进行。   A、 栈顶 B、 栈底 C、 任意位置 D、 指定位置 2 链栈与顺序栈相比有一个明显的优点,即___。   A、 插入操作更加方便 B、 通常不会出现栈满的情况 C、 不会出现栈空的情况 D、 删除操作更加方便 3 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(?)。   A、 edcba B、 decba C、 dceab D、 abcde

文档评论(0)

1亿VIP精品文档

相关文档