你可能喜欢
填空题
若for循环语句用以下形式表示:
for(表达式1;表达式2;表达式3)
循环体语句
则执行for(i=0;i<3;i++) printf(“*”); 时,表达式1执行了()次,表达式3执行了()次。
问答题
请写一非递归算法,对于任意给定的k值,该算法在长度为 n、且元素按值严格递增排列的顺序表A[1..n]中采用折半查找法查找值不大于k的最大元素,若表中存在这样的元素,则算法返回该元素在表中的位置,否则,算法返回信息0。(假设表中元素分别为一个正整数)
例如,对于顺序表A[1..10]=(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
当k=8时,满足条件的元素为8,返回位置4;
当k=13时,满足条件的元素为12,返回位置6;
当k=1时,无满足条件的元素,返回信息0。