题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2023-12-21 20:41:29

[填空题]

阅读以下说明和C代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。
注意到单词列表中不存在组成字符完全相同的单词(如Hack12与Hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按ASCⅡ码顺序),这样不管打乱的单词是什么顺序,只要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节点的值,右子树(如果有)上的节点对应的值均大于根节点的值。
函数中使用的符号定义如下:
#define NumberofWords 1275//单词总数
#define MaxLength 10//最长单词所含字符数
char WordList[NumberofWords][MaxLength];//存储单词列表
int cmp(Node *q,Node *p);//q与p比较。p小,返回负值;P大返回正值:相等,返回0
typedef struct Node(//二叉树节点
char *eleLetters;//重组后的字符串
int index;//对应单词表中的下标
struct Node *lChiId,*rChiid;//左右子节点
Node;
[C代码]
void reCompose(Node *p,char *temp)
//重纰,亦即将temp字符串中的字符升序排序,存储于p节点中
//采用直接插入排序法

char c;
strcpy(p->eleLetters,temp);//
int len=strlen(tem

更多"阅读以下说明和C代码,将应填入 (n) 处的字句写在对应栏内。 ["的相关试题:

[填空题]
阅读以下说明和Jrdva代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据。图6-1显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。
[图6-1]

[Java代码]
//Component.java文件
public (1) class Component {
abstract publ ic void prtTicket( );
}
//salesTicket.java文件
public class SalesTicket extends Component{
public void prtTicket( ){
//Sales ticket printing code here
System.out.printin("SalesTicket");
}
}
//Decorator.java文件
publ ic abstract class Decorator extends Component{
public void prtTicket( ){
if(myComp!=null)myComp.prtTicket( );
}
private (2) myComp;
public Decorator(Component myC){
myComp=myC;
}
}
//Footer.java文件
public class Footer extends Decorator {
public Footer
[填空题]

阅读以下说明和Java代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文类的内容或状态发生变化时,关联此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个Java源文件中,能够正确编译通过。
[Java代码]
//Subject.java文件
public interface Subject
public void attach(Observer DocExplorer);
public void detach(Observer DocExplorer);
void notifyObservers( );
//Observer.Java文件
public interface Obsever(
void update( (1) );

//OfficeDoc.Java文件
import Java.util.*;
public class OfficeDoc implements Subject//OfficeDoc类实现Subject接口
private Vector ObserverVector=new Java.util.Vector( );
//存储与OfficeDoc相关联的DocExplorer对象
public void attach(Obsever observer)
//将某DocExplorer对象与OfficeDoc相关联
ObserverVector.addElement(observer);

publ

[填空题]

阅读以下说明和Java代码,将应填入 (n) 处的字句写在对应栏内。
[说明]
在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化该功能。
以下示例展示了Proxy(代理)模式,PrinterProxy类执行一些比较“轻”的方法——设置名称和取得名称,需要真正执行“重”的方法——真正打印——时才初始Print类。图6-1显示了各个类间的关系。
[图6-1]
[*]
[Java代码]
//Printable.Java
publiC (1) Printable
public abstract void setPrinterName(String name);
public abstract String getprinterName( );
public abstract void print(String string);

//Printer.Java
public class Printer implements Printable
private String name;
public Printer( )
System.out.println("正在产生Printer的对象实例");

public Printer(String name)
this.name=name;
heavyJob("正在产生Printer的对象实例("+name+")");
public void setPrinterName(String name)

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码