【分析解答题】
【程序说明】
定义一个多边形结构: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[i]>>nEwnoDE->y[i];
(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[i]<<sEtw(6)<<hEAD- >y[i]<<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);
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项