首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
【程序说明】 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边
【程序说明】 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边
admin
2013-01-05
27
问题
【程序说明】
定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。(3)编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。
【程序】
#include "iostxeam. h"
#include "iomanip. h"
stmct polygon
{
int n;
int *x;
int *y;
polygon *next;
};
void Push(polygon*& head, int n)
{
polygon* newNode = new polygon;
newNode = new polygon;
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==O) 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;
}
remm head;
}
void disp(polygon *head)
{
inti, No=l;
eout<<setw( 10)<<"x"<<setw(6)<<"y"<<endl;
while(head !=NULL)
{
cout<<"第"<<No<<"结点: "<<endl;
for(i=0;i<=head->n-1;i++)
cout<<setw(10)<<head->x
<<setw(6)<<head->y
<<endl;
(8);
he ad=(9);
}//Match while statement
}
void del(polygon *head)
{
polygon *p;
while(head!=NIILL
{
p=(10);
head=head->next;
delete p->x;
delete p->y;
delete p;
}//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) h (8)NO++ (9)head->next (10)head
解析
如果掌握了链表的创建、遍历和删除的方法,解决本题应该并不困难。要显示链表各结点的数据,就是要把各结点找到,然后把该结点的的每一个x、y坐标打印出来。不过,与普通的链表也有不同的地方:就是该链表的结点数据是指针。要在链表结点中存入数据,必须先动态分配存储数据的内存单元;要删除链表中的各个结点,必须先释放结点数据的内存单元,否则会造成内存泄露。
转载请注明原文地址:https://kaotiyun.com/show/LYDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
以下关于缺陷探测率(DDP)的表述,不正确的是______。A.DDP是一个衡量测试工作效率的软件质量成本指标B.缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错误才可能越少C.DDP是衡量测试投资回报的一个重要指标D.测试周期越长,
针对下列程序段,对于(A,B,C)的取值,以下(56)测试用例组合能够满足语句覆盖的要求。IF((A+10)=2OR(B-20)<3)THENC=0IF((A+30)=10AND(C-30)<0)THENB=30
目前比较热门的软件开发工具,如VB、PB、Delphi等都是可视化的。这些工具是一种(24)程序语言。
以下关于系统测试的叙述,不正确的是()。
软件风险一般包含(14)两个特性。
反映Web应用客户端交易处理性能的评估指标有(59)。 ①并发用户数 ②交易响应时间 ③交易通过率 ④吞吐量 ⑤点击率
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统中字长为32位,磁盘上的物理块依次编号为:0、1、2、…,那么8192号物理块的使用情况在位示图中的第(12)个字中有所描述。
软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件的可靠性目标在()阶段。
随机试题
鼻尖和鼻翼有皮肤发红,血管扩张和组织肥厚,见于
按照建设项目竣工环境保护验收管理办法规定的程序,分期建设、分期投入生产或者使用的建设项目,()环境保护验收。
下列各项中,符合《税收征收管理法》规定的征税方式有()。(2006年)
下列不属于物权客体的是()。
为反映我国工业企业自主创新能力现状,了解企业开展创新活动的政策环境以及企业家对创新的认知程度,国家统计局近期对我国工业企业的创新情况进行了一次专项调查。调查结果显示,2009—2011年间,全国开展创新活动的规模以上工业企业有8.6万家,占全部规
我国宪法的地位体现在()
设A为n阶方阵,且n≥2。证明:|A*|=|(一A)*|。
ForthepeoplewhohavenevertraveledacrosstheAtlanticthevoyageisafantasy.Butforthepeoplewhocrossitfrequentlyo
Shehasnointerestincookingandshopping,______I.
渤海是中国唯一的内海,占地面积7.7284万平方千米。辽东半岛(peninsula)的老铁山与山东半岛的蓬莱角(cape)间的连线为黄海和渤海的分界线。渤海沿岸分布着天然渔场,盛产虾蟹。渤海的石油和天然气也十分丰富。正是由于其优越的地理条件和丰富的资源
最新回复
(
0
)