数据结构期末复习题整理.pptVIP

  • 25
  • 0
  • 约5.4千字
  • 约 15页
  • 2016-05-23 发布于浙江
  • 举报
数据结构期末复习题整理

* 8、在具有n个单元的循环队列中,队满时共有_______个元素。 解答:队列满的约定条件:队列头指针在队列尾指针的下一位置(指环状的下一位置)上。也就是说,队尾的指针永远指向最后一个元素的下一个结点,当队尾指针的下下个元素是对头指针指向的元素的时候,即可断定该队列是满了…所以该题答案为:n-1 15、在循环双链表的p所指结点之后插入s所指结点的操作是________ a b x ① ② ③ ④ p ….. …… s 解答:如图:将s结点插入p所指结点之后,可分为四部….. ①:s-prior=p; ② : s-next= p-next; ③: p-next-prior=s; ④: p-next=s; 答案即为上面的四部… 18、在栈顶指针为HS的链栈中,判定栈空的条件是_____ top base 解答:栈的初始化操作为..按设定的厨师分配量进行第一次存储分配,base的值为NULL,则表明栈结构不存在。称 top 为栈顶指针,其初值指向栈底,即 top=base 可作为栈空的标记… 所以答案为:HS=base 19、在一个单链表中删除p所指结点但不知p的前一个结点时,应执行以下操作: q=p-next; p-data= p-next-data; p-next=______; free(q); p q 解答:因为是单链表,所以如果删除①所在的那个箭头的话,整个链表就断了,就不能找到下一个位置了。所以可以采用另一种方法来实现删除p所指结点,就是将p的下一个结点(这里给他赋值为q)所指的数字放在p所指的结点那里。然后再将q结点删除就可以了。 所以答案为:q-next ① //定义一个指针q令他指向p的下一个结点 //将p的下一个结点的数值放在p所指的结点之上 //删除q所指结点 //释放q 20、在一个单链表中的p所指结点之前插入一个s所指结点时,可执行如下操作: s-next=_______; p-next=s; t= p-data; p-data=________; s-data=________; S P 解答:因为这是一个单链表,需要向p点之前插入一个数字,而单链表只有向后的箭头,而没有向前的箭头,所以不能直接插入,可以采用如下方法:在p所指结点的后面插入一个结点s,然后把p和s所指的结点上面的数字调换位置,即可达到预期的效果。所以答案为: s-next=p-next;//将s结点插入到p结点的后面 p-next=s; t= p-data;//将p所指结点的数字保存在变量 t 上 p-data=s-data;//将s结点数字放在p结点上面 s-data=t; //将变量 t 上面的数字放在s结点上 1.一个长度为n的顺序存储线性表中,向第i个元素(1=i=n+1)之前插入一个新元素时,需要从后向前依次后移( )个元素 A.n-i B.n-i+1 C.n-i-1 D.I 2.一个长度为n的顺序存储线性表中,删除第i个元素(1=i=n+1)时,需要从前向后依次前移( )个元素 A.n-i B.n-i+1 C.n-i-1 D.i 解答:因为有 n 个元素,第i个元素 之后共有 n-i个元素,如果是向i之前插入一个元素的话,需要移动的元素包含 i ,所以插入元素需要移动的元素个数为:n-i+1。而删除元素不需要移动i,所以删除元素需要移动的元素个数为:n-i。 所以一题答案为:B,二题答案为:A。 7、顺序栈的存储空间的实现,使用( B)存储栈元素。 A.链表 B.数组 C.循环链表 D.变量 解答:顺序栈,即栈的顺序存储结构,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设top指示栈顶元素在顺序栈中的位置。答案为:B,注;栈只允许在栈顶插入和删除元素 18、向一栈顶指针为HS的链栈中删除一结点时,用x保存被删结点的值,则( c ) A.x = HS; HS=HS-next B.x = HS-data C.HS=HS-next; x = HS-data D.x = HS-data; HS=HS-next 16、在一链队

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档