请写一非递归算法,对于任意给定的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。