搜题
问题   更新时间2023/4/3 12:59:00

已知顺序表的表结构定义如下:

#define MAXLEN 100

typedef int KeyType;

typedef struct {

KeyType key;

InfoType otherinfo;

} NodeType;

typedef NodeType SqList[MAXLEN];

阅读下列程序。

Int f33(SqList R,NodeType X, int p, int q)

{ int m;

if (p>q) return -1;

m=(p+q)/2;

if (R[m].key==X.key) return m;

if (R[m].key>X.key) return f33(R,X,p,m-l);

else return f33(R,X,m+l,q);

}

请回答下列问题:

(1)若有序的顺序表R的关键字序列为(2,5,13,26,55,80,105),分别写出X.key=18和X.key=26时,执行函数调用f33(R,X,0,6)的函数返回值。

(2)简述算法f33的功能。

教师释疑: (1)-1,3 (2)二分查找给定的关键字,若存在则返回关键字在表中的位置(或下标),否则返回-1。
王老师:19139051760(拨打)