Position BinarySearch( List L, ElementType X ){ if (!L) return NotFound; int left=1,right=L->Last; int mid; while (left<=right) { mid=(left+right)/2; if (L->Data[mid]==X) return mid; else if (L->Data[mid]<X) lef
1 输出样例2: 0 函数实现细节: 1Position BinarySearch( List L, ElementType X ){2intLow=0,Mid,High=L->Last;3while(Low<=High){4Mid=(High+Low)/2;5if(L->Data[Mid]==X){6returnMid;7}elseif(L->Data[Mid]>X){8High=Mid-1;9}else{10Low=Mid+1;11}12}13returnNotFound;14}...
5-6-6 二分查找接口:int Search(int *p, int n, int k,int *Count);实现一个函数,该函数采用二分查找法从一个已经升序排序的数组中,查找某个数k。如果找到k, 输出k所在的数组下标(0~n-1)及比较次数。若k不存在,输出-1和比较次数。其中p为数组首地址,n为数组长度,k为待查找的数, *Count为比较...
6-22 实验7_14_二分查找 直接讲整数二分,浮点数二分只需要修改细节就好(直接讲两种模版,所有的二分都是这种模版) 1. 每次找到区间的中点,将s[mid]与x的值相比较。如果是图中的这种情况,x>s[mid] ,所以x存在于右区间。那么调整区间,将区间的左端点调整为mid+1(为什么是mid+1后面会讲),再去循环处理右...
7-6 链表去重 (25 分) 思路: 之前存图的时候用链式前向星,这里也可以借助数组模拟链表,然而我写的暴力只过了15分。 代码: constintmaxn=1e5+100; boolvis[maxn]; intw[maxn],ne[maxn],del_w[maxn],del_ne[maxn]; intn,head=-1,pre=-1,del_head=-1,del_tail=-1; ...
【PTA】6-9 二叉树的遍历 (非递归)(25分) 函数接口定义: voidInorderTraversal( BinTree BT );voidPreorderTraversal( BinTree BT );voidPostorderTraversal( BinTree BT );voidLevelorderTraversal( BinTree BT ); 其中BinTree结构定义如下: typedefstructTNode *Position; ...
6.8 二叉树高度 intGetHeight(BinTree BT){if(BT ==NULL)return0;intleftH =GetHeight(BT->Left);intrightH =GetHeight(BT->Right);if(leftH > rightH)returnleftH +1;elsereturnrightH +1; } 6-9 二叉树的遍历 void InorderTraversal(BinTreeBT){ ...