首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3
admin
2020-05-14
73
问题
请使用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,1 1,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( )eonst;//显示数据表
};
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]<<end1;
}
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<<end1<<"排序后:";
list.show();
writeToFile(" ",list);
return 0;
}
选项
答案
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] }
解析
本题使用最简单的冒泡排序算法,首先明确要排序的动态数组d,其长度为len,在此可以使用两个下标i和j相比较,当d
>d[j]时,数组内的值利用中间变量temp进行交换。
转载请注明原文地址:https://kaotiyun.com/show/Dg8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
非成员函数只有在声明为类的____________时才能访问这个类的所有private成员。
以下关于虚函数的叙述中不正确的是
已知:intm=10;,在下列定义引用的语句中,正确的是()。
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:intvalue;
若有以下函数调用语句:f(m+n,x+y,f(m+n,z,(x,y)));在此函数调用语句中实参的个数是()。
有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidfunc1(){cout<<"Base1";}
按照标识符的要求,下列选项中,()符号不能组成标识符。
下面的说法中错误的是()。
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。
随机试题
碘钨灯的灯架在安装时必须保持水平位置。()
在Word2010的编辑状态,执行编辑命令“粘贴”,其作用为________。
影响知觉选择性、整体性、理解性和恒常性的同一因素是()。
某道路工程项目合同价为1750万元,该工程签订的合同为可调值合同。合同开工日期为2003年3月,合同工期为12个月,每季度结算一次。工程开工日期为2003年4月1日。施工单位2003年第四季度完成产值是710万元。工程人工费、材料费构成比例以及相关季度造价
下列财产所有权的合法取得方式中,属于继受取得方式的是()。
欠票人应当在通知挂失止付后()日内,也可以在票据丧失后,依法向人民法院申请公示催告。
某企业为增值税一般纳税人,适用的增值税税率为16%,该企业2018年12月初“应付职工薪酬”科目贷方余额为286万元,12月发生的有关职工薪酬的业务资料如下:(1)以银行存款支付上月的应付职工薪酬,并按规定代扣代缴职工个人所得税6万元和个人负担的社会保险
关于原核生物DNA聚合酶的叙述,下列哪项是错误的
Hewillcomeback______nextmonth.
A、Shethinksthemandoesn’tneedsurgery.B、Shedoesn’tthinkthedoctorisright.C、Shedoesn’tthinkthefinalisimportant.
最新回复
(
0
)