首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
admin
2019-05-29
38
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输出链表上各表元的整数值。主函数每读入一个整数,就调用函数fun(),函数fun()将还未出现在链表上的整数按从大到小的顺序插入到链表中。为了插入方便,链表在表首有一个辅助表元。
注意:不能修改程序的其他部分,只能修改如fun()函数。
1 #include<iostream>
2 class NODE
3 {
4 public:
5 int data;
6 NODE *next;
7 };
8 void fun(NODE*list,int x)
9 {
10
11 }
12 void main()
13 {
14 int x;
15 NODE*head,*p;
16 /*首先建立只有辅助袁元的空链表*/
17 head=new NODE;
18 head->next=NULL;
19 std::cout<<’’Enter integers,end with 0’’<<std::end1;
20 while(1)
21 {
22 std::cin>>x;
23 if(x==0)
24 break;
25 fun(head,x);
26 }
27 for(p=head->next;p!=NULL;p=p->next)
28 std::cout<<p->data<<’ ’;
29 std::cout<<std::end1;
30 do {
31 p=head->next;
32 delete head;
33 head=p;
34 } while(p);
35 }
选项
答案
1 NODE *u,*v,*p; 2 u=list; 3 v=u->next; 4 while(v!=NULL&&x<v->data) //寻找插入的位置 5 { 6 u=v;v=v->next; 7 } 8 if(v==NULL || x>v->data) //判断是否为新的元素 9 { 10 p=new NODE; 11 p->data=x; //生成新的元素 12 p->next=v; 13 u->next=p; //插入新的元素 14 }
解析
(1)该程序功能是构造一个以大到小顺序链接的链表。它的解题思路,首先寻找插入的位置,然后判断是否为新元素,最后插入。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(NODE*list,int x)中的list参数为单链表,x为要插入的数据。
(3)首先利用while循环寻找插入元素的位置。
(4)然后判断要插入的元素是否为新元素。。
(5)如果为新元素,那么执行单链表的操作,插入元素。
转载请注明原文地址:https://jikaoti.com/ti/DXA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已有函数fun(a,b),为了使函数指针变量p指向函数fun,则使用的赋值语句是_________
A、 B、 C、 D、 B快速排序的基本思想是:从表中选取一个元素(如本题中的33),将表中小于此元素的移到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后
A、 B、 C、 D、 B在面向对象程序设计中,允许作用于某个对象上的操作称为方法,方法是对象的动态属性。对象间的通信靠消息传递。对象是属性和方法的封装体,可以从祖先中继承属性和方法,但不是任何对象都具有继承
A、 B、 C、 D、 C此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。
A、 B、 C、 D、 C只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,只有给指针new一个地址时会调用构造函数,所以本程序中一共生成了6个Point对象(A,B,C,newPoint[
A、 B、 C、 D、 B耦合性和内聚性是衡量软件的模块独立性的两个定性的标准。其中,内聚性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之间的相互联系程度。它们是相互关联的。在程序结构中,各模块
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
参照完整性关系模型的完整性规则是对关系的某种约束条件,它允许定义三类数据约束,分别是:实体完整性、参照完整性及自定义完整性,其中前两种完整性约束由关系数据库系统自动支持。
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
随机试题
根据《联合国国际货物销售合同公约》,卖方违反合同的补救方法包括()
解除支气管痉挛、改善呼吸困难最为有效的药物是()
A.乳头状癌B.滤泡状腺癌C.未分化癌D.髓样癌E.转移癌放射性核素显像检查,诊断阳性率较低的是()
心理反应处于否认期的临终患者常表现为
除金融类上市公司外,上市公司发行新股所募集的资金不得投资于商业银行、证券公司等金融机构。()
黑龙江的饮食文化是齐鲁文化、满洲饮食文化和俄罗斯饮食文化的交会、融合而产生的。()
工商企业用于支持产品营销的物流服务同物流企业为销售提供的物流服务是相同的两个概念,可以通用。()
某些边远地区的农村家庭为了减轻家庭负担,让女孩初中就辍学外出打工。这侵犯了未成年人的()。
有人说,基层干部既要把自己当作干部,又要不把自己当作干部。请结合实际,谈谈你的看法。
7,9,27,37,63,()
最新回复
(
0
)