首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
在具有,2(n>0)个顶点的简单无向图中,最多含有()条边。
查看本题答案
包含此试题的试卷
初级程序员《单项选择》真题及答案
点击查看
你可能感兴趣的试题
具有nn>0个顶点的无向图最多含有条边
n(n-1)
n(n+1)
n个顶点的有向完全图中含有向边的数目最多为
n-1
n
n(n-1)/2
n(n-1)
在一个具有n个顶点的无向图中要连通全部顶点至少需要条边
n
n+1
n/2
n-1
在一个具有n个顶点的无向图中要连通全部顶点至少需要30条边
n
n+1
n-1
n/2
在具有nn>O个顶点的简单无向图中最多含有条边
n(n-1)
n(n+1)
若某无向图具有n个顶点e条边则其邻接矩阵中值为0的元素个数为
e
2e
n*n-2e
n-2e
在具有2n>0个顶点的简单无向图中最多含有条边
n(n-1)
n(n+1)
一个含有n个顶点和e条边的简单无向图在其邻接矩阵存储结构中共有个0元素
n
2
-2e
2e-1
n
2
-e
e
2
一个含有n个顶点和e条边的简单无向图在其邻接矩阵存储结构中共有个零元素
e
2e
n
2
-e
n
2
-2e
具有nn>0个顶点的无向图最多含有条边
A
B
C
D
一个含有n个顶点和e条边的简单无向图在其邻接矩阵存储结构中零元素的个数是______
e
2e
n
2
-e
n
2
-2e
具有nn>0个顶点的无向图最多含有37条边
n(n-1)
n(n+1)
n(n-1)
n(n+1)
一个具有nn>0个顶点的连通无向图至少有条边
n+1
n
n/2
n-1
下列叙述中正确的是
连通分量是无向图中的极小连通子图
生成树是连通图的一个极大连通子图
若一个含有n个顶点的有向图是强连通图,则该图中至少有n条弧
若一个含有n个顶点的无向图是连通图,则该图中至少有n条边
n个顶点的强连通图中至少含有14
n-1条的向边
n条有向边
n(n-1)/2条有向边
n(n-1)条有向边
n个顶点的完全有向图中含有
n-1条有向边
n条有向边
n(n-1)/2条有向边
n(n-1)条有向边
在一个具有n个顶点的无向图中要连通全部顶点至少需要38条边
n
n+1
n-1
n/2
一个具有nn>0个顶点的连通无向图至少有条边
n+1
n
n/2
n-1
一个具有N个顶点的无向图最多有条边
N×(N-1)/2
N×(N-1)
N×(N+1)/2
N
2
在一个具有nn>0个顶点的连通无向图中至少需要的边数是
n
n+1
n-1
n/2
热门试题
更多
表示微机运算速度快慢的物理量为
[说明]本程序中的函数voidfirst_jnsertNODE**pintv的功能是在已知链表的首表元之前插入一个指定的表元;函数NODE*reverse_copyNODE*p的功能是按已知链表复制出一个新的链表但新的链表的表元链接顺序与已知链表的表元链接顺序相反;函数voidprint_linkNODE*p用来输出链表中各表元的值;函数voidfree_linkNODE*p用来释放链表全部表元空间[函数]#include<stdio.n>#include<malloc.h>typedefstructnodeintval;structnode*next;NODE;voidfirst_insertNODE**pintvNODE*q=NODE*mallocsizeofNODE;q->val=v;1;*p=2;NODE*reverse_copyNODE*pNODE*u;foru=NULL;p;p=p->nextfirst_insert3;returnu;voidprint_linkNODE*pfor;4printf%d/tp->val;printf/n;voidfree_linkNODE*pNODE*u;whilep!=NULLu=p->next;freep;5;voidmainNODE*link1*link2;inti;link1=NULL;fori=1;i<=10;i++first_insert&link1i;link2=reverse_copylink1;print_linklink1;free_linklink1;print_linklink2;free_linklink2;
[说明]设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子每粒珠子颜色用字母表示n粒珠子的颜色由输入的字符串表示从环上的某两粒珠子间剪开则环上珠子形成一个序列然后按以下规则从序列中取走珠子首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子两者之和为该剪开处可取走珠子的粒数在不同位置剪开能取走的珠子也不尽相同本程序所求的是在环上哪个位置剪开按上述规则可取走的珠子粒数最多程序中用数组存储字符串例如10粒珠子颜色对应字符串为aaabbbadcc在0号珠子前剪开序列为aaabbbadcc从左端取走3粒a色珠子从右端取走2粒c色珠子共取走5粒珠子若在3号珠子前剪开即bbbadccaaa共取走6粒珠子[函数]intcountchar*sintstartintendintic=0color=s[start]step=start>end-1:1;fori=start;s[i]==color;i+=stepifstep>0&&i>end||1break;2;returncvoidmaincharts[120];intijclenmaxccut=0;printf请输入环上代表不同颜色珠子字符串;scanf%ss;len=strlens;fori=maxc=0;i<len;i++/*尝试不同的剪开方式*/c=counts0len-1;ifc<lenc+=count3;ifc>maxccut=i;maxc=c;/*数组s的元素循环向左移动一个位置*/t=s[0];forj=1;j<len;j++4;5;printf在第%d号珠子前面剪开可以取走%d个珠子./ncutmaxc;
[说明]下面Application程序用while循环从键盘读入字符记录输入的字符数并输出读入的字符当输入字符0时结束while循环同时结束程序[Java程序]importjava.io.*;publicclassContinuateInputpublic1voidmainString[]args2IOExceptionintch;intcounter=0;System.out.println请输入字符输入0结束;whilecharch=System.in.3!=’0’counter++;System.out.println4ch;System.out.println;System.out.printlncounted+counter+totalbytes.;System.out.5;
[说明]背包问题的基本描述是有一个背包能盛放的物品总重量为S设有N件物品其重量分别为w1w2wn希望从N件物品中选出若干件物品并使所选物品的重量之和恰能放入该背包即所选物品的重量之和等于S[函数]#include<stdio.h>#defineN7#defineS15typedefstructints;intn;intjob;KNAPTP;intknapintSintn;mainifknapSNprintfOK!/n;elseprintfNO!/n;intknapintSintnKNAPTPstack[100]x;inttopkrep;x.S=S;x.n=n;x.job=0;top=1;stack[top]=x;k=0;while1x=stack[top];rep=1;while!k&&repifx.s=0k=1;elseifx.s<0||x.n<=0rep=0;elsex.s=2;x.job=1;3=x;if!krep=1;whiletop>=1&&repx=stack[top--1];ifxjob=1x.s+=w[x.n+1];4;stack[++top]=x;5;ifkwhiletop>=1x=stack[top--];ifx.job==1printfM/tw[x.n+1];returnk;
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[C++程序]#includeiostream.hclassShapepublic:virtualvoidprintShapeNameconst=0;//纯虚函数virtualfloatareaconstreturn0.0;virtualfloatvolumnconstreturn0.0;;classPoint:publicShapepublic:Pointfloata=0floatb=0x=a;y=b;voidsetPointfloatafloatbx=a;y=b;floatgetXconstreturnx;floatgetYconstreturny;virtualvoidprintShapeNameconst1;privatefloatxy;;classCircle:2publicCirclefloatr=0.0floata=0.0floatb=0.0:Pointabradius=r>0r:0;voidsetRadiusfloatrradius=r>0r:0;floatgetRadiusconstreturnradius;virtualfloatareaconstreturn3.14259*radius*radius;virtualvoidprintShapeNameconstcout<<circle:;private:floatradius;;classCylinder:3public:Cylinderfloath=0.0floatr=0.0floatx=0.0floaty=0.0:4height=h>0h:0;voidsetHeightfloathheight=h>0h:0;virtualfloatareaconstreturn5;virtualfloatvolumnconstfloatr=Circle::getRadius;return3.14159*r*r*height;virtualvoidprintShapeNameconstcout<<cylinder:;private:floatheight;
操作系统是一种系统软件它有许多种类PC-DOS是一种操作系统Windows是具有图形界面的运行方式的操作系统是在体系结构上采用了客户机/服务器模式的网络操作系统 操作系统是一种系统软件它有许多种类PC-DOS是一种操作系统
[说明]下面程序定义了一个类Point及其成员函数然后从类Point派生出类Circle及其成员函数[C++程序]//POINT.H#ifndefPOINT_H#definePOINT_HclassPointpublic:Pointfloatx=0floaty=0;voidsetPointfloatfloat;floatgetXconstreturnx;floatgetYconstreturny;protected:float:xy;;#endif//POINT.CPP#include<iostream.h>#includepoint.hPoint::Pointfloatafloatbx=a;y=bvoidPoint::setPointfloatafloatbx=a;y=b//CIRCLE.H#ifndefCIRCLE_H#defineCIRCLE_H#includepoint.hclassCircle:1public:Circlefloatr=0.0floatx=0floaty=0;voidsetRadiusfloat;floatgetRadiusconst;floatareaconst;protected:floatradius;;//CIRCLE.CPP#includeiostream.h#includecircle.hCircle::Circlefloatrfloatafloatb:2radius=r;voidCircle::setRadiusfloatrradius=r;floatCircle::getRadiusconstreturnradius;floatCircle::areaconstreturn3.14159*radius*radius;//text.cpp#include<iostream.h>#includepoint.h#includecircle.hmainCirclec2.53.74.3;cout<<Xcoordinateis<<c.getX<</nRadiusis:<<c.getRadius;3;//设置新的圆心22Point&pRef=c;cout<</nCircleprintedasapointis:<<]<<4<<.<<5<<];
[函数2.1说明]函数intfactorsintn的功能是判断整数nn>=2是否为完全数如果n是完全数则函数返回0否则返回-1所谓完全数是指整数n的所有因子不包括n之和等于n自身例如28的因子为124714而28=1+2+4+7+14因此28是完全数[函数2.1]intfactorsintninti/s;fori=1s=0;i<=n/2;i++ifn%i==0[1];if[2]return0;rerurn-1;[函数2.2说明]函数intmaxintinta[]intk的功能是用递归方法求指定数组中前k个元素的最大值并作为函数值返回[函数2.2]intmaxintinta[]intkintt;if[3]return[4]t=maxinta+1[5];returna[0]>ta[0]:t;
[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到p之间路径上的结点[函数]#defineMaxSize1000typedefstructnodeTelemTypedata;structnode*lchild*rchild;BiNode*BiTree;voidPathBiTreetBiNode*pBiTree*stackEMaxsize]*stack1[maxsize]*q;inttag[Maxsizeltop=0top1;q=t;/*通过前序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为p*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到p栈底到栈顶为t到p*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;top1=0;whiletop>0q=stack[top];/*反向打印准备*/top1++;4;top--;while5/*打印栈的内容*/q=stack1[top1];printfq->data;top1--;
[说明]设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子每粒珠子颜色用字母表示n粒珠子的颜色由输入的字符串表示从环上的某两粒珠子间剪开则环上珠子形成一个序列然后按以下规则从序列中取走珠子首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子两者之和为该剪开处可取走珠子的粒数在不同位置剪开能取走的珠子也不尽相同本程序所求的是在环上哪个位置剪开按上述规则可取走的珠子粒数最多程序中用数组存储字符串例如10粒珠子颜色对应字符串为aaabbbadcc在0号珠子前剪开序列为aaabbbadcc从左端取走3粒a色珠子从右端取走2粒c色珠子共取走5粒珠子若在3号珠子前剪开即bbbadccaaa共取走6粒珠子[函数]intcountchar*sintstartintendintic=0color=s[start]step=start>end-1:1;fori=start;s[i]==color;i+=stepifstep>0&&i>end||1break;2;returncvoidmaincharts[120];intijclenmaxccut=0;printf请输入环上代表不同颜色珠子字符串;scanf%ss;len=strlens;fori=maxc=0;i<len;i++/*尝试不同的剪开方式*/c=counts0len-1;ifc<lenc+=count3;ifc>maxccut=i;maxc=c;/*数组s的元素循环向左移动一个位置*/t=s[0];forj=1;j<len;j++4;5;printf在第%d号珠子前面剪开可以取走%d个珠子./ncutmaxc;
[函数2.1说明]函数intfactorsintn的功能是判断整数nn>=2是否为完全数如果n是完全数则函数返回0否则返回-1所谓完全数是指整数n的所有因子不包括n之和等于n自身例如28的因子为124714而28=1+2+4+7+14因此28是完全数[函数2.1]intfactorsintninti/s;fori=1s=0;i<=n/2;i++ifn%i==0[1];if[2]return0;rerurn-1;[函数2.2说明]函数intmaxintinta[]intk的功能是用递归方法求指定数组中前k个元素的最大值并作为函数值返回[函数2.2]intmaxintinta[]intkintt;if[3]return[4]t=maxinta+1[5];returna[0]>ta[0]:t;
计算机的用途不同对其部件的性能指标要求也有所不同以科学计算为主的计算机对要求较高而且应该重点考虑 以科学计算为主的计算机对要求较高
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述;SIZE定义位数组的大小[问题]将流程图的1~5处补充完整
[说明]本程序中的函数voidfirst_jnsertNODE**pintv的功能是在已知链表的首表元之前插入一个指定的表元;函数NODE*reverse_copyNODE*p的功能是按已知链表复制出一个新的链表但新的链表的表元链接顺序与已知链表的表元链接顺序相反;函数voidprint_linkNODE*p用来输出链表中各表元的值;函数voidfree_linkNODE*p用来释放链表全部表元空间[函数]#include<stdio.n>#include<malloc.h>typedefstructnodeintval;structnode*next;NODE;voidfirst_insertNODE**pintvNODE*q=NODE*mallocsizeofNODE;q->val=v;1;*p=2;NODE*reverse_copyNODE*pNODE*u;foru=NULL;p;p=p->nextfirst_insert3;returnu;voidprint_linkNODE*pfor;4printf%d/tp->val;printf/n;voidfree_linkNODE*pNODE*u;whilep!=NULLu=p->next;freep;5;voidmainNODE*link1*link2;inti;link1=NULL;fori=1;i<=10;i++first_insert&link1i;link2=reverse_copylink1;print_linklink1;free_linklink1;print_linklink2;free_linklink2;
[说明]下面Application程序用while循环从键盘读入字符记录输入的字符数并输出读入的字符当输入字符0时结束while循环同时结束程序[Java程序]importjava.io.*;publicclassContinuateInputpublic1voidmainString[]args2IOExceptionintch;intcounter=0;System.out.println请输入字符输入0结束;whilecharch=System.in.3!=’0’counter++;System.out.println4ch;System.out.println;System.out.printlncounted+counter+totalbytes.;System.out.5;
程序由指令组成指令一般由表示中央处理器中的指明要执行的指令所在主存单元的地址 程序由指令组成指令一般由表示
[说明]本程序中的函数voidfirst_jnsertNODE**pintv的功能是在已知链表的首表元之前插入一个指定的表元;函数NODE*reverse_copyNODE*p的功能是按已知链表复制出一个新的链表但新的链表的表元链接顺序与已知链表的表元链接顺序相反;函数voidprint_linkNODE*p用来输出链表中各表元的值;函数voidfree_linkNODE*p用来释放链表全部表元空间[函数]#include<stdio.n>#include<malloc.h>typedefstructnodeintval;structnode*next;NODE;voidfirst_insertNODE**pintvNODE*q=NODE*mallocsizeofNODE;q->val=v;1;*p=2;NODE*reverse_copyNODE*pNODE*u;foru=NULL;p;p=p->nextfirst_insert3;returnu;voidprint_linkNODE*pfor;4printf%d/tp->val;printf/n;voidfree_linkNODE*pNODE*u;whilep!=NULLu=p->next;freep;5;voidmainNODE*link1*link2;inti;link1=NULL;fori=1;i<=10;i++first_insert&link1i;link2=reverse_copylink1;print_linklink1;free_linklink1;print_linklink2;free_linklink2;
[说明]背包问题的基本描述是有一个背包能盛放的物品总重量为S设有N件物品其重量分别为w1w2wn希望从N件物品中选出若干件物品并使所选物品的重量之和恰能放入该背包即所选物品的重量之和等于S[函数]#include<stdio.h>#defineN7#defineS15typedefstructints;intn;intjob;KNAPTP;intknapintSintn;mainifknapSNprintfOK!/n;elseprintfNO!/n;intknapintSintnKNAPTPstack[100]x;inttopkrep;x.S=S;x.n=n;x.job=0;top=1;stack[top]=x;k=0;while1x=stack[top];rep=1;while!k&&repifx.s=0k=1;elseifx.s<0||x.n<=0rep=0;elsex.s=2;x.job=1;3=x;if!krep=1;whiletop>=1&&repx=stack[top--1];ifxjob=1x.s+=w[x.n+1];4;stack[++top]=x;5;ifkwhiletop>=1x=stack[top--];ifx.job==1printfM/tw[x.n+1];returnk;
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述;SIZE定义位数组的大小[问题]将流程图的1~5处补充完整
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[C++程序]#includeiostream.hclassShapepublic:virtualvoidprintShapeNameconst=0;//纯虚函数virtualfloatareaconstreturn0.0;virtualfloatvolumnconstreturn0.0;;classPoint:publicShapepublic:Pointfloata=0floatb=0x=a;y=b;voidsetPointfloatafloatbx=a;y=b;floatgetXconstreturnx;floatgetYconstreturny;virtualvoidprintShapeNameconst1;privatefloatxy;;classCircle:2publicCirclefloatr=0.0floata=0.0floatb=0.0:Pointabradius=r>0r:0;voidsetRadiusfloatrradius=r>0r:0;floatgetRadiusconstreturnradius;virtualfloatareaconstreturn3.14259*radius*radius;virtualvoidprintShapeNameconstcout<<circle:;private:floatradius;;classCylinder:3public:Cylinderfloath=0.0floatr=0.0floatx=0.0floaty=0.0:4height=h>0h:0;voidsetHeightfloathheight=h>0h:0;virtualfloatareaconstreturn5;virtualfloatvolumnconstfloatr=Circle::getRadius;return3.14159*r*r*height;virtualvoidprintShapeNameconstcout<<cylinder:;private:floatheight;
用高级语言编写的程序经编译后产生的程序叫在机器里真正执行的是 用高级语言编写的程序经编译后产生的程序叫
在Windows2000操作系统中要查看已知文件类型的扩展名需要在磁盘目录下执行命令设置用键盘上的Delete键删除U盘中的文件时该文件在硬盘上要直接删除文件而不让文件进入回收站可以用快捷键 用键盘上的Delete键删除U盘中的文件时该文件
[说明]已知类Stock和类cxyjava都定义在cxyjava.jav__件中类Stock的定义中第14行前共有四行出现了错误将下面代码修改正确并完善后的输出结果为0:01:23请补齐第21行代码中的空缺[Java代码]01publicclassStock{02static{03shares=0;04share_val=0.0;05}06publicStock{getData;}07publicStockintnintpr=0{08shares=n;09share_val=pr;10getData;11}12publicvoidgetData{13System.out.printlnshares+:+share_val;14}15privateintshares16privateintshare_val;17};1819publicclasscxyjava{20publicstaticvoidmainStringargs[]}{21Stocka=1;22Stockb=newStock123;24}25}
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[C++程序]#includeiostream.hclassShapepublic:virtualvoidprintShapeNameconst=0;//纯虚函数virtualfloatareaconstreturn0.0;virtualfloatvolumnconstreturn0.0;;classPoint:publicShapepublic:Pointfloata=0floatb=0x=a;y=b;voidsetPointfloatafloatbx=a;y=b;floatgetXconstreturnx;floatgetYconstreturny;virtualvoidprintShapeNameconst1;privatefloatxy;;classCircle:2publicCirclefloatr=0.0floata=0.0floatb=0.0:Pointabradius=r>0r:0;voidsetRadiusfloatrradius=r>0r:0;floatgetRadiusconstreturnradius;virtualfloatareaconstreturn3.14259*radius*radius;virtualvoidprintShapeNameconstcout<<circle:;private:floatradius;;classCylinder:3public:Cylinderfloath=0.0floatr=0.0floatx=0.0floaty=0.0:4height=h>0h:0;voidsetHeightfloathheight=h>0h:0;virtualfloatareaconstreturn5;virtualfloatvolumnconstfloatr=Circle::getRadius;return3.14159*r*r*height;virtualvoidprintShapeNameconstcout<<cylinder:;private:floatheight;
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述;SIZE定义位数组的大小[问题]将流程图的1~5处补充完整
[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到p之间路径上的结点[函数]#defineMaxSize1000typedefstructnodeTelemTypedata;structnode*lchild*rchild;BiNode*BiTree;voidPathBiTreetBiNode*pBiTree*stackEMaxsize]*stack1[maxsize]*q;inttag[Maxsizeltop=0top1;q=t;/*通过前序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为p*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到p栈底到栈顶为t到p*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;top1=0;whiletop>0q=stack[top];/*反向打印准备*/top1++;4;top--;while5/*打印栈的内容*/q=stack1[top1];printfq->data;top1--;
[说明]下面程序定义了一个类Point及其成员函数然后从类Point派生出类Circle及其成员函数[C++程序]//POINT.H#ifndefPOINT_H#definePOINT_HclassPointpublic:Pointfloatx=0floaty=0;voidsetPointfloatfloat;floatgetXconstreturnx;floatgetYconstreturny;protected:float:xy;;#endif//POINT.CPP#include<iostream.h>#includepoint.hPoint::Pointfloatafloatbx=a;y=bvoidPoint::setPointfloatafloatbx=a;y=b//CIRCLE.H#ifndefCIRCLE_H#defineCIRCLE_H#includepoint.hclassCircle:1public:Circlefloatr=0.0floatx=0floaty=0;voidsetRadiusfloat;floatgetRadiusconst;floatareaconst;protected:floatradius;;//CIRCLE.CPP#includeiostream.h#includecircle.hCircle::Circlefloatrfloatafloatb:2radius=r;voidCircle::setRadiusfloatrradius=r;floatCircle::getRadiusconstreturnradius;floatCircle::areaconstreturn3.14159*radius*radius;//text.cpp#include<iostream.h>#includepoint.h#includecircle.hmainCirclec2.53.74.3;cout<<Xcoordinateis<<c.getX<</nRadiusis:<<c.getRadius;3;//设置新的圆心22Point&pRef=c;cout<</nCircleprintedasapointis:<<]<<4<<.<<5<<];
[说明]下面程序定义了一个类Point及其成员函数然后从类Point派生出类Circle及其成员函数[C++程序]//POINT.H#ifndefPOINT_H#definePOINT_HclassPointpublic:Pointfloatx=0floaty=0;voidsetPointfloatfloat;floatgetXconstreturnx;floatgetYconstreturny;protected:float:xy;;#endif//POINT.CPP#include<iostream.h>#includepoint.hPoint::Pointfloatafloatbx=a;y=bvoidPoint::setPointfloatafloatbx=a;y=b//CIRCLE.H#ifndefCIRCLE_H#defineCIRCLE_H#includepoint.hclassCircle:1public:Circlefloatr=0.0floatx=0floaty=0;voidsetRadiusfloat;floatgetRadiusconst;floatareaconst;protected:floatradius;;//CIRCLE.CPP#includeiostream.h#includecircle.hCircle::Circlefloatrfloatafloatb:2radius=r;voidCircle::setRadiusfloatrradius=r;floatCircle::getRadiusconstreturnradius;floatCircle::areaconstreturn3.14159*radius*radius;//text.cpp#include<iostream.h>#includepoint.h#includecircle.hmainCirclec2.53.74.3;cout<<Xcoordinateis<<c.getX<</nRadiusis:<<c.getRadius;3;//设置新的圆心22Point&pRef=c;cout<</nCircleprintedasapointis:<<]<<4<<.<<5<<];
[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到p之间路径上的结点[函数]#defineMaxSize1000typedefstructnodeTelemTypedata;structnode*lchild*rchild;BiNode*BiTree;voidPathBiTreetBiNode*pBiTree*stackEMaxsize]*stack1[maxsize]*q;inttag[Maxsizeltop=0top1;q=t;/*通过前序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为p*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到p栈底到栈顶为t到p*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;top1=0;whiletop>0q=stack[top];/*反向打印准备*/top1++;4;top--;while5/*打印栈的内容*/q=stack1[top1];printfq->data;top1--;
热门题库
更多
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术