首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8,4,5
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8,4,5
admin
2021-05-06
52
问题
请打开考生文件夹下的解决方案文件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{returnlen;}
//数据表长度(即数据元素的个数)
double getElement(int i)const{return d
;}
void sort( );//数据表排序
void show( )const;//显示数据表
};
void writeToFile(char*,constDataList&);
//main.cpp
#include"DataList.h"
DataList::DataList(intlen,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++)tout<<d
<<",";
tout<<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;1<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/OWfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列排序方法中,最坏情况下比较次数最少的是( )。
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
有如下程序:#include#includeusingnamespacestd;classTV{public:TV(ints=41):size(
下列各选项中,不属于序言性注释的是()。
重载输入流运算符“>>”必须使用的原型为()。
关于运算符重载,下列表述中正确的是()。
在下列关键字中,不能用来表示继承方式的是
下面程序的输出结果为()。#includevoidmain(){intx:int&y=x;11变量引用y=99;cout
关系表中的每一行记录称为一个()。
下列有关继承和派生的叙述中,正确的是()。
随机试题
患者女,10岁。面色苍白,肝、脾肿大,血红蛋白65g/L,血片见正常和低色素红细胞及少数中、晚幼粒细胞,红细胞渗透脆性减低,骨髓环状铁粒幼红细胞达45%。该患者最可能的诊断为
A.突发的中上腹剧烈刀割样痛,烧灼样痛B.中上腹持续性剧痛或阵发性加剧C.阵发性剑突下钻顶样疼痛D.持续广泛性剧烈腹痛伴腹壁肌紧张或板样强直E.右下腹压痛腹痛的性质和程度可作为腹痛病因诊断的参考依据。十二指肠溃疡穿孔可出现
A.两侧髂嵴外缘最宽的距离B.两侧髂前上棘外缘的距离C.两坐骨结节内侧缘之间的距离D.两侧坐骨棘间的距离E.第五腰椎棘突下凹陷处至耻骨联合上缘重点的距离髂棘间径为
单纯疱疹除可在口腔粘膜发病外,尚可在以下哪些部位发病
椎基底动脉系统短暂脑缺血发作,不出现的症状是
刑事被告人在诉讼中不具有诉讼主体的地位,只是刑讯的对象,这是()的主要特征之一。
在卫星电视接收系统中,馈源工作的位置介于()之间。
企业管理费由基本费用和()组成。
网络故障管理引入人工智能技术是为了(60)。
Peopledonotanalyzeeveryproblemtheymeet.Sometimestheytrytorememberasolutionfromthelasttimetheyhadasimilarp
最新回复
(
0
)