对
错
第1题:
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
【说明】
函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为
typedef struct node {
int key;
struct node * next;
} *LinkedList;
【函数】
int DelA_InsB ( LinkedList La, LinkdeList Lb,int key1,int key2,,int len)
{ LinkedList p,q,s,prep,pres;
int k;
if( ! La->next || ! Lb-> next ||| en <=0)return-1;
p = La -> next;prep = La;
while(p&&p- >key != key1) { /*查找表A中键值为key1的结点*/
prep = p;p = p -> next;
}
if( ! p) return - 1; /*在表A中不存在键值为key1的结点*/
q=p;k=1;
while(q &&(1))} /*表A中不存在要被删除的len个结点*/
(2);k++;
}
if( ! q)return -1; /*表A中不存在要被删除的len个结点*/
s = Lb -> next;(3);
while(s && s -> key != key2) { /*查找表B中键值为key2的结点*/
pres =s;s =s->next;
}
if( ! s) return - t; /*表B中不存在键值为key2的结点*/
(4)=q-> next; /*将表A中的len个结点删除*/
q->next=(5);
pres -> next = p; /*将len个结点移至表B */
return 0;
}
第2题:
A、2
B、3
C、4
D、7
E、8
F、以上都不对
第3题:
●试题三
阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为
typedef struct node {
int key;
struct node *next;
}*LinkedList;
【函数】
int DelA_InsB(LinkedList La,LinkdeList Lb,int key1,int key2,int len)
{LinkedList p,q,s,prep,pres;
int k;
if(!La->next||!Lb->next||len<=0)return-1;
p=La->next;prep=La;
while(p & & p- >key != key1){/*查找表A中键值为key1的结点*/
prep=p;p=p->next;
}
if(!p)return -1;/*表A中不存在键值为key1的结点*/
q=p;k=1;
while(q && (1) ){/*在表A中找出待删除的len个结点*/
(2) ;k++;
}
if(!q)return -1;/*表A中不存在要被删除的len个结点*/
s=Lb->next; (3) ;
while(s && s->key !=key2){/*查找表B中键值为key2的结点*/
pres=s;s=s->next;
}
if(!s)return -1;/*表B中不存在键值为key2的结点*/
(4) =q->next;/*将表A中的len个结点删除*/
q->next= (5) ;
pres->next=p;/*将len个结点移至表B*/
return 0;
}
●试题三
【答案】(1)k<len(2)q=q->next 或 q=(*q).next(3)pres=Lb
(4)prep->next或(*prep).next(5)s 或 pres->next 或(*pres).next
【解析】(1)此处while循环应当循环至k等于len结束,所以应填入k<1en。(2)此处语句表示链表前进一个结点,应填入q=q->next或 q=(*q).next。(3)此处语句为指针pres赋初值,使他指向s的上一结点。(4)修改指针prep,使prep指向q的下一结点。(5)此处语句为修改指针q,q指向s或者pres的下一结点,达到将A中的len个结点删除的目的。
第4题:
●若采用链地址法对关键字序列(74,10,23,6,45,38,18)构造哈希表(或散列表),设散列函数为H(Key)=Key % 7(%表示整除取余运算),则哈希表中地址为(42)的单链表长度为0(即没有关键字被映射到这些哈希地址)。
(42) A. 0、1和2
B.1、2和3
C.1、3和5
D.0、1和5
第5题:
A、2
B、3
C、5
D、6
第6题:
此题为判断题(对,错)。
第7题:
采用哈希(或散列)技术构造查找表时,需要考虑冲突(碰撞)的处理,冲突是指______。
A.关键字相同的记录被映射到不同的哈希地址
B.关键字依次被映射到编号连续的哈希地址
C.关键字不同的记录被映射到同一个哈希地址
D.关键字的数目超过哈希地址的数目
A.
B.
C.
D.
第8题:
● 采用哈希(或散列)技术构造查找表时,需要考虑冲突(碰撞)的处理,冲突是指 (39) 。
(39)
A. 关键字相同的记录被映射到不同的哈希地址
B. 关键字依次被映射到编号连续的哈希地址
C. 关键字不同的记录被映射到同一个哈希地址
D. 关键字的数目超过哈希地址的数目
第9题:
下图为利用ARM芯片的GPIO引脚连接按键的典型接口。当图中KEY1与KEY2键按下,其他按键均松开时,ARM芯片读到的GPF6~ GPF1的状态为:()。 下图为利用ARM芯片的GPIO引脚连接按键的典型接口。当图中KEY1与KEY2键按下,其他按键均松开时,ARM芯片读到的GPF6~ GPF1的状态为:()。
A.111111
B.001111
C.111100
D.000000
第10题: