基本信息
文件名称:2024年下半年软件设计师下午试题及答案.pdf
文件大小:191.85 KB
总页数:8 页
更新时间:2024-08-13
总字数:约4.21千字
文档摘要

2005年下半年软件设计师下午试题及答案

下午试题

C++题目#include

constOBS_MAXNUM=20;

__(1)___;

classDocExplorer{

public:

DocExplorer((2)*doc);

___(3)___voidupdate(OfficeDoc*doc)=0;

};

classOfficeDoc{

private:

DocExplorer*myObs[OBS_MAXNUM]

intindex;

public:

OfficeDoc(){

index=0;

voidattach(DocExplorer*o){

if(index=OBS_MAXNUM||o==NULL)return;

for(intloop=0;loopif(myObs[loop]

==o)return;

myObs[index]=o;

index++;

}

voiddetach(DocExplorer)*o{

if(o==null)return;

for(intloop=0;loopif(myObs[loop]

==o){

if(loop=index-

2)myObs[loop]=myObs[index-1];

myObs[index-1]=NULL;

index--;

break;

}

}

}

private:

voidnotifyObs(){

for(intloop=0;loop

myObs[loop]-____(4)____;

}

};

DocExplorer:ocexplorer(OfficeDoc*doc){

doc-______(5)_____;

}

试题四:

散列文件的存储单位称为桶(BUCKET)。假如一个桶能存放m个记

录,当桶中已经有m个同义词(散列函数值相同)的记录时,存放

第m+1个同义词会发生“益出”。此时需要将第m+1个同义词存放

到另一个“益出桶”的桶中。相对的,称存放前m个同义词的桶

称为基桶。益处桶和基桶大小相同,用指针链接。查找指定元素记

录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到益

处桶中查找。

为了简化起见,散列文件的存储单位以内存单元表示。

函数InsertToHashTable(intNewElemKey)的功能是:若新的元

素NewElemKey正确插入散列文件中。则返回1,否则0。

采用的散列函数为Hash(NewElemKey)=NewElemKey%P,其中P

为设定的基桶数目。

函数中使用的预定仪符号为:

#defineNULLKEY–1/*散列桶的空闲单元标示*/

#defineP