山东理工大学数据结构期末试题及复习资料
数据结构期末试题及答案

数据结构期末试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构和链式存储结构的主要区别在于:A. 数据元素的存储关系B. 数据元素的存储空间C. 数据元素的存储顺序D. 数据元素的存储位置答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈只能进行插入和删除操作C. 栈顶元素可以被访问D. 栈可以进行顺序存储和链式存储答案:B3. 在二叉树的遍历算法中,不使用递归算法的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:D4. 哈希表的冲突解决方法中,不包括以下哪种:A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D5. 在图的遍历算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于:A. 搜索的顺序B. 存储结构C. 遍历的深度D. 遍历的宽度答案:A6. 快速排序算法的时间复杂度最坏情况下为:A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 下列关于二叉搜索树的描述中,正确的是:A. 每个节点的左子树只包含小于该节点的键值B. 每个节点的右子树只包含大于该节点的键值C. 以上两个选项都正确D. 以上两个选项都不正确答案:C8. 在非递归的二叉树遍历算法中,通常需要使用的数据结构是:A. 栈B. 队列C. 链表D. 数组答案:A9. 一个有n个顶点的无向图,其边数最多为:A. nB. n(n-1)/2C. n(n+1)/2D. n^2答案:B10. 一个长度为n的数组进行归并排序时,需要的辅助空间大小为:A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B二、填空题(每题2分,共10分)1. 在数据结构中,______是一种特殊的线性表,它的元素个数是固定的。
答案:数组2. 链表中,每个节点包含数据域和______。
《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案一、单项选择题1. 数据结构是计算机科学的基础学科之一。
下列哪个选项正确描述了数据结构的定义?A. 数据结构是一种计算机程序B. 数据结构是一种存储和组织数据的方法C. 数据结构是一种人工智能技术D. 数据结构是一种操作系统答案:B2. 链表和数组是常见的数据结构,它们之间的主要区别是:A. 数组可以存储不同类型的数据,而链表只能存储相同类型的数据B. 数组的元素在内存中是连续存储的,而链表的元素在内存中是分散存储的C. 链表可以随机访问元素,而数组只能顺序访问元素D. 链表的插入和删除操作更高效,而数组的访问操作更高效答案:B3. 在二叉树中,每个节点最多可以有多少个子节点?A. 1B. 2C. 3D. 无限多个答案:B二、填空题1. 假设有一组数据 [5, 8, 3, 2, 9],按照从小到大的顺序进行冒泡排序的过程中,经过三次交换后的结果是__2__,__3__,__5__,__8__,__9__。
2. 请完成以下代码,实现栈的入栈和出栈操作:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():return self.stack.pop()def is_empty(self):# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False ```答案:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():def is_empty(self):return len(self.stack) == 0# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False```三、简答题1. 请简要介绍树的基本概念及常见的树结构。
数据结构与算法复习题

山东理工大学成人高等教育数据结构与算法复习题一、判断题1、()顺序表和一维数组一样,都可以按下标随机(或直接)访问。
2、()带权连通图中某一顶点到图中另一顶点的最短路径不一定唯一。
3、()折半查找方法可以用于按值有序的线性链表的查找。
4、()在完全二叉树中,若某结点无左孩子,则它必是叶结点5、()字符串是一种非线性结构6、()算法可能没有输出,但至少要有一个输入。
7、()设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为q=p->next;p->next=q->next;free(q)。
8、()设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为2n,e。
9、()插入排序、冒泡排序、堆排序、归并排序四种排序中归并排序的空间复杂度最大。
10、()多维数组是一种复杂的数据结构,数组元素之间的关系既不是线性的,也不是非线性的。
二、填空1、数据的存储结构主要有两种形式:映象和映象。
2、空串的长度是。
3、N个顶点的无向连通图至少有条边,至多有条边。
4、折半查找必须基于存储的表进行。
5、栈与队列都是限定性的线性结构,栈的操作特性是,队列的操作特性是。
6、通常从四个方面评价算法的质量:_________、_________、_________和_________。
7、假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。
8、若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。
在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。
9、在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。
数据结构期末考试题及答案

数据结构期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。
A. 执行算法所需要的计算工作量B. 执行算法所需要的存储空间C. 执行算法所需要的时间D. 执行算法所需要的内存大小答案:A2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。
A. 插入和删除操作快B. 存储密度高C. 存储空间可以动态分配D. 存储空间利用率高答案:B3. 栈的基本运算中,不包括()。
A. 入栈B. 出栈C. 取栈顶元素D. 排序答案:D4. 在二叉树的遍历中,先序遍历的顺序是()。
A. 先根后子B. 先子后根C. 先左后右D. 先右后左答案:A5. 哈希表解决冲突的方法不包括()。
A. 分离链接法B. 线性探测法C. 链地址法D. 二分查找法答案:D6. 一个图的邻接矩阵表示法中,若第i行第j列的元素为1,则表示()。
A. 顶点i和顶点j之间有一条边B. 顶点i和顶点j之间没有边C. 顶点i和顶点j之间有n条边D. 顶点i和顶点j之间有m条边答案:A7. 在查找算法中,二分查找法适用于()。
A. 线性表B. 哈希表C. 树形结构D. 图结构答案:A8. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C9. 一个有n个顶点的无向图,其边数最多为()。
A. nB. n(n-1)/2C. n(n+1)/2D. 2n答案:B10. 以下哪个不是排序算法()。
A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序答案:D二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的空间复杂度是指算法执行过程中所需要的___________。
答案:存储空间2. 线性表的链式存储结构中,每个节点包含___________和___________。
答案:数据元素,指针3. 栈的特点是___________,___________。
数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 栈D. 队列答案:C2. 在链表中,如果一个节点既没有前驱也没有后继,那么这个节点被称作什么?A. 首节点B. 尾节点C. 中间节点D. 孤立节点答案:B3. 树的度是指什么?A. 树中节点的个数B. 树中最大的层次数C. 树的分支数D. 树的节点的度的最大值答案:C4. 在二叉搜索树中,若要查找给定值的节点,当查找失败时应返回的值是?A. -1B. 0C. 1D. 该值本身答案:A5. 快速排序算法的时间复杂度最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n!)答案:C二、填空题1. 在顺序表中,元素的物理位置相邻的特点是________,这使得顺序表在________操作上具有较高的效率。
答案:连续性;访问2. 链表相比顺序表的优势在于它能够动态地________存储空间,并且________操作不需要移动大量元素。
答案:分配和释放;插入与删除3. 栈是一种________的数据结构,只允许在________进行插入和删除操作。
答案:后进先出;栈顶4. 图的遍历算法主要有两种,分别是________和________。
答案:深度优先搜索;广度优先搜索5. 哈夫曼树是一种特殊的二叉树,它常用于数据压缩,其构建过程是基于________原则。
答案:最小权值三、简答题1. 请简述数组和链表的优缺点。
答案:数组通过索引直接访问元素,访问速度快,但大小固定,插入和删除操作需要移动大量元素。
链表元素通过指针连接,可以动态分配大小,插入和删除效率高,但访问速度较慢,因为需要从头开始遍历。
2. 什么是二叉树的前序遍历、中序遍历和后序遍历?答案:二叉树的前序遍历是先访问根节点,然后遍历左子树,最后遍历右子树。
中序遍历是先遍历左子树,然后访问根节点,最后遍历右子树。
后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点。
《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)1. 下面哪个数据结构是线性结构?A. 树B. 图C. 队列D. 网络流2. 下面哪个数据结构用于实现广度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆3. 下面哪个数据结构用于实现深度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆4. 下面哪个数据结构用于实现快速排序算法?A. 栈B. 队列C. 散列表D. 堆5. 下面哪个数据结构用于实现优先队列?A. 栈B. 队列C. 散列表D. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。
2. 二叉树的节点最多有______个子节点。
3. 堆是一种特殊的______。
4. 散列表的查找效率取决于______。
5. 图的遍历算法包括______和______。
6. 快速排序算法的平均时间复杂度为______。
7. 哈希表中的冲突解决方法有______和______。
8. 最小树算法包括______和______。
9. 最短路径算法包括______和______。
10. 并查集算法用于解决______问题。
第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。
2. 请简述二叉搜索树的特点。
3. 请简述哈希表的原理。
4. 请简述图的深度优先搜索算法。
5. 请简述最小树算法的原理。
第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。
《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案(2003-2004学年第2学期)单项选择题1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C一、1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为( c)。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为(d )。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于( a )。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是( d )。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第( c )层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树( a )遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为( a b )(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于( c )(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用( c )域存储后继结点的地址。
2020-2021学年《数据结构》期末考试试题及答案

2020-2021学年《数据结构》期末考试复习试题一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10-11学年第一学期计算机科学与技术专业张先伟、肖爱梅一、填空(每空1分,共20分)1、深度为k的完全二叉树至少有10个叶结点的二叉树中有2的结点。
2、设数组a[1..5,1..8]的基地址为200,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[4,6]的存储地址为345、要在一个单链表中p所指结点之后插入一个子链表,子链表第一个结点的地址为s,子链表最后一个结点的地址为t, 。
6、设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的i列中所有非零元素个数之和等于顶点i7、对于表长为n的顺序存储的线性表,访问结点的时间复杂度为删除结点的时间复杂度为。
8、将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为19、己知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用折半查找法查找100时,需10、Dijkstra11、如果T2是由树T1转换而来的二叉树,那么T1中结点的后序遍历就是T212、广义表A= (d)则Head(Tail(Head(Tail(Tail(A)))))的值为13、设无向连通图的顶点个数为n,则该图最少有二、选择(每题2分,共20分)1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是A.快速排序B.堆排序C.归并排序D.直接插入排序2、有五个元素按5,4,3,2,1A. 3 2 1 5 4 B. 4 5 3 1 2 C. 3 4 5 2 1 D. 2 3 4 1 53、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是A.a,b,e,c,d,f B.a,c,f,e,b,d C.a,e,b,c,f,d D.a,e,d,f,c,b4、链表不具有的特点是A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性表长度成正比5、在一棵三叉树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为A.4 B.8 C.6 D.56、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是A.2和4 B.1和5 C.4和2 D.5和17、若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序8、对稀疏矩阵进行压缩存储目的是A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度9、在下面的程序段中,对x的赋值语句的频度为for ( i=1; i<= n; i++)for ( j=1; j<= n; j++)x=x+1;A.O(2n) B.O(n) C.O(log2n) D.O(n2)10、双向链表中,在指针p指向的结点前插入指针qA.p->prior=q; q->next=p; p->prior->next=q; q->prior=q;B.p->prior=q; p->prior->next=q; q->next=p; q->prior=p->prior;C.q->next=p; q->prior=p->prior; p->prior->next=q; p->prior=q;D.q->prior=p->prior; q->next=q; p->prior=q; p->prior=q;三、应用题(40分)1、(6分)已知一个无向图G=(V,E),其中V={A,B,C,D,E,F},邻接矩阵表示如下所示。
请回答下列问题:(1)请画出对应的图G。
(2)画出图G的邻接表存储结构。
2、(6分)对于关键字序列(503,87,512,61,908,120,897,275,653,462), 建立初始堆(小顶堆)。
3、(8分)已知一棵二叉树的先序序列:A B D H I M E J C F K L G,中序序列:H D I M B J E A K F L C G,请画出该二叉树,并简单说明理由。
4、(6分)采用哈希函数H(k)=3*k MOD 13,并用线性探测开放地址法处理冲突,在数列地址空间[0..12]中对关键字序列22、41、53、46、30、13、1、67、51,构造哈希表(画示意图)。
5、(6分)下图为无向带权图,用克鲁斯卡尔算法构造其最小生成树,并写出选边的顺序。
6、(8分)对关键字序列{30,15,28,20,24,10,12,68,35},(1)构造一棵二叉排序树;(2)对初始序列构造一棵二叉平衡树。
四、算法阅读与设计题(本大题共2小题,共20分)1、(8分)已知下列程序,Ls指向带头结点的单链表。
Typedefstruct node {DataType data;struct node * next;} * LinkList;void f30( LinkList Ls ){ LinkList p, q;q = Ls->next;if ( q && q->next ) {Ls->next = q->next;p=qwhile ( p->next )p = p->next;p->next = q;q->next = NULL;}}请回答下列问题:(1)当Ls指向的链表如下图所示,请画出执行本函数之后的链表的结果。
(2)请简述算法的功能。
2、(12分)写出二叉树的二叉链表类型,设计算法求二叉树中度为1的结点的数目。
(用自然语言给出设计思想,再用代码实现。
06-07学年第二学期计算机科学与技术专业张先伟一.填空(每空1分,共20分)1.数据的存储结构主要有两类:________存储结构和________存储结构。
2.栈与队列都是限定性的数据结构,栈的操作特性是____________,队列的操作特性是____________。
3.在顺序表中插入或删除一个元素,需要平均移动________元素,具体移动的元素的个数与______________有关。
4.组成串的数据元素只能是________,空串的长度是________。
5.广义表(a,(b))的深度是________,表尾是________。
6.深度为K的完全二叉树至少有____________个结点,具有100个结点的完全二叉树的深度是________。
7.N个定点的无向连通图至少有___________条边,图的遍历有广度优先搜索遍历和________搜索遍历两种方法。
8.在一个单链表中在指针P所指结点之后插入一个S结点,应执行的操作依次是:S —>next=______________和P—>next=________________。
9.影响哈希表查找长度的主要因素是____________________、____________________和哈希因子。
10.折半查找必须基于____________存储的________________表进行。
二.选择(每题2分,共20分)1.一个带头结点的单链表,头指针为head,判断其是否为空的条件是________。
A、head == NULLB、head—>next == NULLC、head != NULL;D、head—>next == head 2.设栈的输入序列是1,2,3,4,则________不可能是其输入序列。
A、1,2,4,3B、2,1,3,4C、4,3,1,2D、3,2,1,43.稀疏矩阵的压缩存储不包含下面哪种方式________。
A、三元组顺序表B、行逻辑连接的顺序表C、邻接多重表D、十字链表4.有N个叶结点的哈夫曼树的结点总数是________。
A、不确定B、2NC、2N+1D、2N-15.下列排序方法中,待排记录有序时花费时间反而最多的是________。
A、快速排序B、希尔排序C、起泡排序D、堆排序6.下面有关二叉树的说法正确的是________。
A、二叉树的度为2B、二叉树的度可以小于2C、二叉树中至少有一个节点的度数为2D、二叉树中任何一个结点的度数都为27.堆的形状是一棵________。
A、二叉排序树B、满二叉树C、完全二叉树D、平衡二叉树8、关键路径是AOE网中________。
A、从源点到汇点的最长路径B、从源点到汇点的最长回路C、从源点到汇点的最短路径D、从源点到汇点的最短回路9、循环队列是空队列的条件是________。
A、Q—>rear == Q—>frontB、(Q—>rear+1)%maxsize == Q—>frontC、Q—>rear == 0D、Q—>front == 010、在有向图G的拓扑排序序列中,若定点Vi在顶点Vj之前,则下列情形不可能出现的是________。
A、G中有弧<Vi,Vj>B、G中有一条从Vi到Vj的路径C、G中没有弧<Vi,Vj>D、G中有一条从Vj到Vi的路径三、问答与综合(共5个题目,36分)1、(6分)什么是数据的逻辑结构?简述常见的逻辑结构的分类及其特点。
2、(8分)已知二叉树,其中序序列DBCAFGE,后序序列DCBGFEA,(1)构造该二叉树,并简单说明理由;(2)将该二叉树转换成相应的树(或森林)。
3、(8分)对于如下的无向网(1)写出其邻接表;(2)按照Prime算法求网的一棵最小生成树(写出过程)。
4、(8分)对下面的二叉排序树:(1)求二叉排序树在等概率查找时平均查找长度;(2)画出插入关键码16后的结果;(3)画出对原树删除关键码40后的结果。
5、(6分)初始关键字序列为(30,4,28,58,5,13,90,47,18)(1)写出对其做一趟直接插入排序后的结果;(2)对其初始序列以30为枢轴做一次快速排序后的结果。
四、算法阅读(共两个题目,12分)1、阅读下面算法,说明该算法的功能,并分析其时间复杂度(已知h是带头结点的单链表的头指针)Void rever( lnode *h){ lnode p,q;p = h->next;h->next = null;while( p){ q = p;p = p->next;q->next = h->next;h->next = q;} //end while} //end rever2、下面是折半查找算法,在____处将算法语句补充完整。