首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,
admin
2019-05-22
41
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为:
排序前:7,1,3,11,6,9,12,10,8,4,5,2
排序后:1,2,3,4,5,6,7,8,9,10,11,12
要求:
补充编制的内容写在“**********333**********”与“//**********666**********”两行之间。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序调用。
//DataList.h
#include<iostream>
using namespace std;
class DataList{//数据表类
int len;
double*d;
public:
DataList(int len,double data[]=NULL);
~DataList(){delete[]d;}
int length()const{return len;}//数据表长度(即数据元素的个数)
double getElement(int i)const{return d
;}
void sort();//数据表排序
void show()const;//显示数据表
};
void writeToFile(char*,const DataList&);
//main.cpp
#include"DataList.h"
DataList::DataList(int len,double data[]):len(len){
d=new double[len];
for(int i=0;i<len;i++)
d
=(data=NULL?0.0:data
);
}
void DataList::sort(){//数据表排序
//**********333**********
//**********666**********
}
void DataList::show()const{//显示数据表
for(int i=0;i<len-1;i++)cout<<d
<<",";
cout<<d[len-1]<<endl;
}
int main(){
double s[]={7,1,3,11,6,9,12,10,8,4,5,2};
DataList list(12,s);
cout<<"排序前:";
list.show();
list.sort();
cout<<endl<<"排序后:";
list.show();
writeToFile(" ",list);
return0;
}
选项
答案
for(int i=0;i<len;++i)//从头遍历数组d for(int j=i;j<len;++j) //从i+1处遍历数组d if(d[i]>d[j]) //d[i]和d[j]比较人,如果大于,就d[i]和d[j]值交换 { int temp=d[i]; //把临时整型变量temp赋值为d[i] d[i]=d[j];//把d[j]赋值给d[i] d[j]=temp;//把temp值赋给d[j] }
解析
主要考查的是DataList类,其中涉及动态数组、构造函数、析构函数、const函数和排序算法。Sort函数是一个排序函数,对于排序可以使用的方法很多,考生只需要使用自己最擅长的方法即可,题目并没有指定考生使用哪种方法。
本题使用最简单的冒泡排序算法,首先明确要排序的动态数组d,其长度为len,在此可以使用两个下标i和j相比较,当d
>d[j]时,数组内的值利用中间变量temp进行交换。
转载请注明原文地址:https://kaotiyun.com/show/QI8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
(*p)(x,y)一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指
A、 B、 C、 D、 B拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它的一般格式是:类名::类名(cons类名&引用对象名)。当一个类的对象赋值给该类的另一个对象时,是
在关系代数运算中,__________操作会消去关系中的某些列并删去重复的元组。
A、 B、 C、 D、 D此题考查的是派生类的构造函数和析构函数。在撤销派生类对象时,析构函数的执行过程和构造函数严格相反,即:对派生类新增普通成员进行清理;调用成员对象析构函数,调用基类析构函数对基类进行清
A、 B、 C、 D、 A此题考查的是类和对象的相关概念。类是将不同的数据和与这些数据相关的操作封装起来装在一起的集合体。对象是类的具体实例,也即类是对某一类对象的抽象,类和对象之间可以说是数据类型与变量的关
A、 B、 C、 D、 Asetfill(’>’)对当前输出整行有效,setw(5)设置紧跟其后的输出宽度为5,当输出宽度不超过5时用“<”来填充;如果宽度超过5则不填充,原样输出所有数据;在没有设置左右对齐
A、 B、 C、 D、 A线性表、栈、队列和双向链表都是典型的线性结构;而二叉树是典型的非线性结构。【知识拓展】什么是线性结构?有3个衡量标准:①有且只有一个根结点;②每个结点最多有一个前件(直接前驱),也
有如下程序:#include<iostream>usingnamespacestd;classA{public:A(inti){X=i;}voiddispa(){cout<<x<<’
A、 B、 C、 D、 B对二叉树的访问有3种方式,其中任意的两种可惟一确定一颗二叉树。但无论是前序、后序还是中序遍历二叉树时,其区别在于访问根的先后次序不同,而访问叶结点的顺序完全相同。
深度为6的满二叉树中,度为2的结点个数为()。
随机试题
急性肾小球肾炎最常见的临床表现为
鸟氨酸脱羧生成的产物是
关于MDS的治疗,下列哪项不正确?
预防压疮发生应注意下列哪项
女性,26岁。心悸、消瘦3月,甲状腺Ⅱ度肿大,质软,可闻及血管杂音,临床诊断为Graves病,以下哪项化验结果是不可能的
开关应切断零线,通断位置应一致,距门框距离应统一。()
A注册会计师接受委托,对甲公司提供鉴证服务。A注册会计师遇到下列事项,请代为作出正确的专业判断。如果A注册会计师向甲公司提供的鉴证业务是对甲公司编制的其下属子公司乙公司的财务系统运行有效性的评价报告进行鉴证,对该业务的下列分类正确的是()。
计算机软件一般包括系统软件和()。
WhatwilltheweatherprobablybelikeonThursday?
A、Shewashitbyatruck.B、Hercatwasbadlyhurt.C、Shewassenttothehospital.D、Hercatwasdead.B男士问女士是否看到了sally,并说今天下午她
最新回复
(
0
)