首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
admin
2019-05-29
60
问题
使用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、 C线性表是一种线性结构,由n(n≥O)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以C是错误的。
A、 B、 C、 D、 Apb作为基类指针,可以指向派生类对象,但是它只能访问基类的成员函数,而不能访问派生类的成员函数,所以pb->show();访问的是基类的show()函数,故打印10,20。
A、 B、 C、 D、 C派生类在公有派生和保护派生两种方式下,可以访问基类的保护成员。虚基类也可以被实例化,虚函数如果在派生类中不被重新定义,则直接被派生类继承。
A、 B、 C、 D、 C虚函数是在类的声明中使用virtual关键字来限定的成员函数,在成员函数实现时不能再使用virtual关键字进行限定。派生类中的虚函数必须和基类中的虚函数的形参个数、形参类型、返回值
A、 B、 C、 D、 A关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。
A、 B、 C、 D、 A由于线性表采用的是顺序存储方式,用存储单元的邻接性体现线性表元素间的一维顺序关系,因此对线性表进行插入和删除运算时,可能需要移动大量的结点,以保持这种物理和逻辑的一致性。对于选项A)
A、 B、 C、 D、 D在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后件关系。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
下列字符串中可以用作C++语言标识符的是
随机试题
航空公司规定乘客每件随身携带物品的体积均不得超过()立方厘米。
对α和β受体均有较强的激动作用的药物是
用于食品的物理及化学消毒方法有许多种,其中冷灭菌属于
输血的原则是
在应用地高辛或其他强心苷期间,输入葡萄糖(特别是大剂量葡萄糖)时应注意同时补充()。
由责任护士和其辅助护士负责一定数量患者从入院到出院,以护理计划为内容,包括入院教育、各种治疗、基础护理和专科护理、护理病历书写、观察病情变化、心理护理、健康教育和出院指导。这种形式的护理方式是()。
根据以下资料,回答问题。2015年,我国海洋灾害以风暴潮、海浪、海冰和赤潮灾害为主,绿潮、海岸侵蚀、海水入侵与土壤盐渍化、咸潮入侵等灾害也均有不同程度发生。各类海洋灾害造成直接经济损失72.74亿元,死亡(含失踪)30人。2014年7月,在我国华
ArnoldSchwarzenegger,DiaMirzaandAdrianGrenierhaveamessageforyou:It’seasytobeatplastic.They’repartofabuncho
()股票交易()熊市()期货经纪人()市场机制
Asshewalkedroundthehugedepartmentstore,Elaine【C1】______howdifficultitwastochooseasuitableChristmaspresentforh
最新回复
(
0
)