首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明,将在空缺处填入正确的内容。 【程序说明】 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指
阅读下列程序说明,将在空缺处填入正确的内容。 【程序说明】 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指
admin
2009-02-15
86
问题
阅读下列程序说明,将在空缺处填入正确的内容。
【程序说明】
定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。(3)编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。
【程序】
#include "iomanip.h"
struct polygon
{
int n;
int* x;
int *y;
polygon * next;
};
void Push(polygon * & head,int n)
{
polygon * newNOde=newpolygon;
newNOde=newpo,Ygon;
newNOde->next=(1);
newNOde->x=new int [n];
newNOde->y=new int[n];
newNOde->n=(2);
for(int i=0;i<=(3);i++){
cout<<“请输入多边形各顶点x、y坐标,坐标值之间用空格分隔:”;
cin>>newNOde->x
>>newNOde->y
;
}
(4)=head; //在head前不需要额外的。
head=newNOde;
}
polygon * create()
{
polygon * head=NULL;
polygon * tail;
int n;
cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;
cin>>n;
if(n==0)return (5);
Push(head, (6);
tail=head;
cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;
cin>>n;
while(n!=0)
{
Push(tail->next,(7); //在tail->next增加结点
tail =tail->next; //advance tail to point to last node
cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;
cin>>n;
}
return head;
}
void disp(polygon * head)
{
int i,No=1;
cout<<setw(10)<<"x" <<setw(6)<<"y"<<end1;
while(head!=NULL)
{
cout<<“第” <<No<<“结点:” <<end1;
for(i=0;i<=head->n-1;i++)
cout<<setw(10)<<head- >x
<<setw(6)<<head- >y
<<endl;
(8);
head=(9);
}//Match while statement
}
void del(polygon * head)
{
polygon * p;
while(head!=NULL)
{
p=(10);
head=head->next;
delete p->x;
delete P->y;
deletep;
}//Match while statement
}
void main()
{
polygon * head;
head=create();
disp(head);
del(head);
}
选项
答案
(1)NULL(2)n(3)n-1(4)newNode->next (5)head(6)n(7)n(8)No++(9)head->next (10)head
解析
如果掌握了链表的创建、遍历和删除的方法,解决本题应该并不困难。要显示链表各结点的数据,就是要把各结点找到,然后把该结点的每一个x、y坐标打印出来。不过,与普通的链表也有不同的地方:就是该链表的结点数据是指针。要在链表结点中存入数据,必须先动态分配存储数据的内存单元;要删除链表中的各个结点,必须先释放结点数据的内存单元,否则会造成内存泄露。
转载请注明原文地址:https://kaotiyun.com/show/EuDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面关于软件测试模型的描述中,不正确的包括______。①V模型的软件测试策略既包括低层测试又包括高层测试,高层测试是为了源代码的正确性,低层测试是为了使整个系统满足用户的需求②V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设
某软件系统的原始需求包括,“当某个查询请求是不适当或非法的,应提示用户”,该需求属于______。
若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。
如果在程序中的多个地方需要使用同一个常数,那么最好将其定义为一个符号常量,这样______。
逻辑覆盖标准包括()。①判定覆盖②语句覆盖③条件判定覆盖④修正条件判定覆盖
已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是引用调用(callbyreference)方式,则执行“x:f(5)”后x的值为(7);若函数调用g(a)是值调用(callbyvalue)方式,
假设段页式存储管理系统中的地址结构如下图所示,则系统()。
在数据库逻辑设计阶段,若实体中存在多值属性,那么将E-R图转换为关系模式时,___________,得到的关系模式属于4NF。
某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(40)排序算法最好,时间复杂度为(41)。(41)
在结构化分析方法中,利用分层数据流图对系统功能建模。以下关于分层数据流图的叙述中,不正确的是___________(32)。采用数据字典为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项进行说明,其条目不包括____________(33)。
随机试题
请认真阅读下列材料,并按要求作答。根据上述材料完成下列任务:简要分析歌曲的节拍、风格、节奏特点及情绪情感。
28岁经产妇,足月产后第2日,患者诉阵发性下腹痛,阴道流血量不多,无恶心、呕吐,无腹泻及便秘。检查宫底脐下2指,无压痛,腹部不胀。恰当的治疗为
A、润湿剂B、反絮凝剂C、絮凝剂D、助悬剂E、稳定剂混悬剂中使微粒Zeta电位降低的电解质是()。
某房地产估价机构在开展估价人员业务培训时,设定同一价值时点,对某工厂整体房地产分别进行抵押估价和征收评估。合理的估价结果为抵押价值3000万元,被征收房屋补偿价值4000万元,估价对象全厂区拥有国有土地使用证,地上建有10幢房屋。第1~6幢办理了房屋所有权
《中华人民共和国土地管理法》规定:国家实行占用耕地补偿制度。非农业建设经批准占用耕地的,按照“占多少,垦多少”的原则,由占用耕地的单位负责开垦与所占用耕地的()相当的耕地。
甲公司系上市公司,2012年年末库存A材料账面余额为1100万元;年末计提跌价准备前库存A材料计提的存货跌价准备的账面余额为0。库存A材料将全部用于生产B产品。预计B产品的市场价格总额为1200万元,预计生产B产品还需发生除A材料以外的总成本为400万元,
俄国画家康定斯基的著作《论艺术中的精神》和《点线面》,奠定了__________的理论基础。另一俄国画家__________创建的至上主义,属于几何抽:象的范畴。奠定了几何抽象主义理论基础和在艺术实践上有重要贡献的是荷兰画家__________创建的”__
下图为大气中的硫循环示意图,请据图分析回答下列问题:除②过程吸收SO2外,还有部分SO2转化成其他物质进入土壤或水体,并以______形式被a吸收,再用于合成______等有机物,进而被各级消费者利用。
(2016年第22题)2015年10月16日,中国铁路总公司牵头组成的中国企业联合体,与印度尼西亚维卡公司牵头的印尼国企联合体正式签署组建中印尼合资公司协议,该公司将负责印度尼两亚雅加达至万隆高速铁路项目的建设和运营。中国高铁走出国门、走向世界表明我国
下列关于Bootloader的陈述中,不正确的是()。
最新回复
(
0
)