题目内容 (请给出正确答案)
[主观题]

阅读下列函举说明和C代码,将应填入(n)处的字句写在对应栏内。【说明4.1】 假设两个队列共享一个循

阅读下列函举说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明4.1】

假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下:

typedef struct {

DateType data [MaxSize];

int front[2],rear[2];

}Queue2;

对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。

【函数4.1】

int EnQueue(Queue2 * Q, int i, DateType x)

{ /*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/

if(i<0‖i>1) return 0;

if(Q->rear[i]==Q->front[(1)]

return 0;

Q->data[(2)]=x;

Q->rear[i]=[(3)];

return 1;

}

【说明4.2】

函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。

已知二叉树中的结点类型BinTreeNode定义为:

struct BinTreeNode {

char data;

BinTreeNode * left, * right;

};

其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域,

【函数4.2】

int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2)

{

if(Ti == NULL && T2 == NULL)return 1 /*若两棵树均为空,则相等*/

else if((4))return 0; /*若一棵为空一棵不为空,则不等*/

else if((5)) return 1; /*若根结点值相等并且左、右子树*/

/*也相等,则两棵树相等,否则不等*/

else return 0;

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列函举说明和C代码,将应填入(n)处的字句写在对应栏内…”相关的问题

第1题

阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。[说明] 本程序实现的功能是查

阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。

[说明]

本程序实现的功能是查看磁盘上的图片及其基本信息。程序运行界面如下图所示,用户只要逐步选择适当的驱动器、目录和图片文件,图片内容随即显示在界面中央,文件的基本信息则呈现于右侧文本框中。用户还可以删除或复制选中的图片文件。

在开发过程中,驱动器列表框名为Drivel,目录列表框名为Dir1,文件列表框名为File1,图片的显示由Image控件对象Image1来实现,文件信息文本框名为Text1,按钮“删除文件”和“复制到…”分别名为CmdDel和CmdCpy。

[Visual Basic代码]

Dim filename As String

Dim fso As New (1), file As file

Private Sub Form_Load()

Set fso = CreateObject("Scripting.FileSystemObject")

Drivel.Drive = "F:"

End Sub

Private Sub Dir1_Change()

File1.path=Dirl.path ’更新文件列表框的路径

End Sub

Private Sub Drive1_Change()

Dir1.path =(2) ’更新目录列表框的路径

End Sub

Private Sub File1_Click()’文件列表框的单击事件响应代码

If Right(Dir1.path, 1) <>"\" Then

filename = Dir1.path & "\" & Filel.filename

Else

filename = Dir1.path & Filel.filename

End If

Image1.Picture =(3)

Set file = fso.GetFile(filename)

Text1. Text = "文件名称:" & file.Name & vbCrLf & _

"文件大小:" & file. Size & "字节" & vbCrLf & _

"文件类型:" & file.Type & vbCrLf & _

"创建日期:" & file. DateCreated & vbCrLf & _

"修改日期:" & file. DateLastModified

End Sub

Private Sub CmdCpy_Chck()’按钮“复制到…”的单击事件响应代码

Dim path As String

path = InputBox("请输入目标路径(含文件名):")

(4)

End Sub

Private Sub CmdDel_Click()’按钮“删除文件”的单击事件响应代码

(5)

End Sub

点击查看答案

第2题

阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。[说明] 若矩阵Am×n中存在某个元素aij满足:

阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。

[说明]

若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m和n分别是矩阵A的行列数。

[程序]

void saddle (int A[ ] [ ], int m, int n)

{ int i,j,min;

for (i=0;i <m;i + + )

{ min: (1);

for (j=1; j<n; j+ +)

if(A[i][j]<min) (2);

for (j=0; j<n; j+ +)

if ((3))

{ p=0;

while (p<m&&(4))p+ +;

if (p > = m)printf ("%d,%d,%d\n",i,j,min);

}

}

}

[问题1] 将函数代码中的(1)~(4)处补充完整

[问题2]在上述代码的执行过程中,若A为矩阵,则调用saddle(A,3,3)后输出是(5)。

点击查看答案

第3题

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】 本应用程序是

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

本应用程序是一个乘法计算器,其运行窗口如图2所示。

在该界面中,“被乘数”、“乘数”以及“积”等文字为标签,相应的3个输入输出数据框为文本框,此外还有3个命令按钮。用户在“被乘数”和“乘数”相应的文本框内输入数据,再单击“运算”按钮,便能在“积”对应的文本框中看到相乘的结果;当用户单击“清除”按钮时,就会清除各文本框中的数据;当用户单击“关闭”按钮时就会关闭该窗口并退出应用程序。用户不能在“积”对应的文本框中输入数据。

【属性设置】

各个对象、有关的属性名以及需要修改的属性值设计如下:

【程序】

Private Sub cmdMultiply_Click( )

txt3. Text =Trim(Str$ ((3)) '加法运算获得和数

End Sub

Private Sub (4) (

txt1. Text=" " '空字符串赋值给文本框txt1的内容

txt2. Text=" " '空字符串赋值给文本框txt2的内容

txt3. Text=" " '空字符串赋值给文本框txt3的内容

End Sub

Private Sub cmdClose_Click( )

(5) '退出应用程序

End Sub

点击查看答案

第4题

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】 函数DelA_InsB(LinkedList La

阅读下列函数说明和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;

}

点击查看答案

第5题

阅读以下算法说明和C程序,根据要求回答问题1和问题2。 【说明】 【算法4-1】的功能是用来检查文本文件

阅读以下算法说明和C程序,根据要求回答问题1和问题2。

【说明】

【算法4-1】的功能是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号而没有对应的左括号或者右括号,则给出相应的提示信息,如图1-18所示。

在【算法4-1】中,slack为一整数栈。算法中各函数的说明如表1-11所示。

【算法4-1】

将栈stack置空,置EOF为false

Ch<-nextch();

while(not EOF)

k←kind(ch);

if (k ==(1) ) {

push( (2) );

push( (3) );}

else if( k ==(4) )

if(not empty()){

pop();

pop();)

else{

显示错误信息(缺少对应左括号或右括号):

显示行号row:显示列号col:)

End if

End if

Ch<-nextch();

end while

if(not empty())

显示错误信息(缺少对应左括号或右括号):

While(not empty()){

row<-pop();

col<-pop():

显示行号row:显示列号col;)

End while

End if

为了识别更多种类的括号,对【算法4-1】加以改进后得到【算法4-2】。【算法4-2】能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如表1-12所示。

【算法4-2】

将栈stack置空,置EOF为false

Ch<-nextch();

while(not EOF){

k<- kind(ch);

if(k > 0)

if(判断条件1){

push( (5) );

push( (6) );

push( (7) );}

else if(判断条件2 and判断条件3){

pop();

pop();

pop();}

else {

显示错误信息(缺少对应左括号或右括号);

显示行号row;显示列号col;)

end if

end if

ch <- nextch();)

end while

if(not empty()){

显示错误信息(缺少对应左括号或右括号);

While(not empty()){

Pop();

row <- pop():

col <- pop();

显示行号row;显示列号col;))

end while

end if

请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。

点击查看答案

第6题

该贪心算法的时间复杂度为(5)。

点击查看答案

第7题

试题五(共15分)阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。【说明】下面

试题五(共15分)

阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。

【说明】

下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之间的距离,从而确定出距离最近的点对。例如,在图5-1所示的8个点中,点(1,1)与(2,0.5)是间距最近的点对。

【C++代码】

include <iostream>

include <cmath>

using namespace std;

class GPoint {

private:

double x, y;

public:

void setX(double x) { this->x = x; }

void setY(double y) { this->y = y; }

double getX() { return this->x; }

double getY() { return this->y; }

};

class ComputeDistance {

public:

double distance(GPoint a,GPoint b) {

return sqrt《a.getX() - b.getX())*(a.getX() - b.getX())

+ (a.getY() - b.getY())*(a.getY() - b.getY()));

}

};

int main()

{

int i,j, numberOfPoints=0;

cout<<"输入点的个数:";

cin>>numberOfPoints;

(1) points= neW GPoint[numberOfPoints];//创建保存点坐标的数组

memset(points,0,sizeof(points));

cout <<"输入"<< numberOfPoints<<"个点的坐标:";

for(i=0;i<numberOfPoints; i++){

double tmpx, tmpy;

cin>>tmpx>>tmpy;

points[i].setX(tmpx);

points[i].setY(tmpy);

}

(2) computeDistance= new ComputeDistance();

int p1=0,p2=1;//p1和p2用于表示距离最近的点对在数组中的下标

double shortestDistance= computeDistance->distance(points[p1], points[p2]);

//计算每一对点之间的距离

for(i=0;i<numberOfPoints; i++){

for(j=i+1;j< (3) ;j++){

double tmpDistance=computeDistance-> (4) ;

if ( (5) ) {

p1=i; p2 =j;

shortestDistance= tmpDistance;

}

}

}

cout<<"距离最近的点对是:(";

cout"points[p1].getX()<<","<<points[pl].getY()<<")和(";

cout<<points[p2].getX()<<","<<points[p2].getY()<<")"<<endl;

delete computeDistance;

return 0:

}

点击查看答案

第8题

阅读以下说明和流程图,回答问题将解答填入对应栏。 [说明] 本流程图实现采用递归函数来求一个整

阅读以下说明和流程图,回答问题将解答填入对应栏。

[说明]

本流程图实现采用递归函数来求一个整数数组中从元素0到元素n中的最小值。该算法思想是这样的,首先我们假设有一个求数组中最小元素的函数,然后,在求某一具有n的元素的数组的最小值时,只要求将前n-1的元素的最小值与第n个元素比较即可。不断地重复这一过程,直到数组中只剩下一个元素,那么它必定是最小值。

注:int min(int X,int y)为返回两数中最小数的函数。

int minInArray(int a[],int n)为返回数组中最小数的函数。

minA为数组中最小值。

[问题l]

将流程图的(1)~(4)处补充完整。

[问题2]

min()函数的定义为(5)。

点击查看答案

第9题

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】 已知头指针分别为La和lb的有序单

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

【说明】

已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:

点击查看答案

第10题

阅读以下说明和流程图,回答问题1至问题3。 [说明] 信息处理过程中经常需要将图片或汉字点阵做旋

阅读以下说明和流程图,回答问题1至问题3。

[说明]

信息处理过程中经常需要将图片或汉字点阵做旋转处理。一个矩阵以顺时针方向旋转90°后可以形成另一个矩阵,如下图所示:

流程图2-1描述了对n*n矩阵的某种处理。流程图2-2是将矩阵A顺时针旋转90°形成矩阵B的具体算法。

请写出以下3*3单位矩阵沿顺时针方向旋转90°后所形成的矩阵。

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信