首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
admin
2019-05-29
40
问题
使用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://kaotiyun.com/show/3B8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B快速排序的基本思想是:从表中选取一个元素(如本题中的33),将表中小于此元素的移到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后
A、 B、 C、 D、 A耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。【知识拓展】模块的独立程序是评价设计好坏的一个重要标准,衡量软件的模块
A、 B、 C、 D、 B只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,本程序共生成了3个同类对象a,b[2]。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
软件工具软件开发环境或称软件工程环境是全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;public:test(){cout<<"c
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
随机试题
Whatisthe’biggestcityintheworld?Thatis,【21】cityhasthelargestpopulation?Thisseemslike【22】questiontoanswer,but
影响酶促反应速度的因素不包括
关于健康危险因素评价的描述,正确的是
1999年4月南方某大型湖泊1800亩水面泛起了一片片死鱼,湖水呈黑色,空气中弥漫着难闻的臭味,使人感到呼吸困难,头昏、恶心等。首先应考虑作的检测项目是
施工企业年度安全生产管理目标出台后,企业主要负责人应明确专人,根据企业安全生产责任制的要求,将目标分解到()。
根据《中华人民共和国城乡规划法》的规定,下列关于城乡规划的编制和审批程序的表述中不正确的是()。
背景:某建设单位新建办公楼,与甲施工单位签订施工总承包合同。该工程门厅大堂内墙设计做法为干挂石材,多功能厅隔墙设计做法为石膏板骨架隔墙。施工过程中发生下列事件:事件一:建设单位将该工程所有门窗单独发包,并与具备相应资质条件的乙施工单位签订门窗施工合同。
工程项目安全检查的注意事项包括( )。
对直接用于出售的存货和用于继续加工的存货,企业在确定其可变现净值时应当考虑不同的因素。()
当动物缺乏某激素时,可以通过“饲喂法”或“注射法”对该激素进行人为补充,下列只可通过以上一种方法补充的激素是()。①生长激素②甲状腺激素③胰岛素④性激素
最新回复
(
0
)