首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8
admin
2020-04-07
65
问题
请打开考生文件夹下的解决方案文件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:
DataLlst(int len,double data[]=NULL);
~DataList(){delete[]d;}
int length()const{return len;)
//数据表长度(即数据元素的个数)
double getElement (int i)consL{return d
;}
void sort();//数据表排序
void show()const;//显示数据表
};
void writeToFile(char *, constDataList&);
//main.cpp
#include"DataList.h"
DataList::DataList(int len,double data[]):len(fen)(
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
<<",";
couL<<d[len—1]<<endl;
}
int main(){
double s[]={7,1,3,11,6,9,12,10,8,4,5,2};
DaLaList list(12,s);
cout<<"排序前:";
list.show();
list.soft();
cout<<endl<<”排序后:”;
list.show();
writeToFile("",list);
return 0;
}
选项
答案
for(int 1 =0;i<len; ++1) //从头遍历数组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/Nw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
下面程序段的运行结果是voidmain(){intt,a,b,c;a=1;b=2;C=2;while(a<b<c){t=a;a=b;b
有如下程序:#include<iostream>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(5);
有下列程序:#include<iostream.h>usingnamespacestd;classDemo{public:Demo(){cout<<"defaultconstmct
程序设计语言的工程特性之一为()。
软件工程的出现是由于()。
设x,y,t均为int型变量,执行语句:x=y=3;t=++x||++y;,完成后,y的值为( )。
下面关于break语句的描述中,不正确的是
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include<string>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)
随机试题
下列表达式计算结果为日期类型的是( )。
何谓生理盲点?有何临床意义?
A.X线片可见蒂状、鹿角状或血丘状骨性凸起B.X线片可见“日光射线”现象C.X线片可见Codman三角D.X线片可见葱皮状骨膜反应E.X线片可见肥皂泡样骨质破坏阴影骨软骨瘤病人可能出现
“符合平滑肌肉瘤”的临床涵义是
雷尼替丁属于哪类H2受体拮抗剂
A.淋巴转移和种植B.血行转移和淋巴转移C.直接蔓延和种植D.直接蔓延和淋巴转移E.血行转移子宫颈癌主要播散的方式
某公司拟新建一车间用以生产受市场欢迎的甲产品,据预测甲产品投产后每年可创造320万元的现金净流量,但公司原生产的A产品会因此受到影响,使其年收入由原来的100万元降低到80万元。假设所得税税率为25%,则与新建车间生产甲产品项目相关的现金净流量为(
下列关于记账凭证的保管说法不正确的是()。
A、Theimportanceofeducation.B、Thedistinctionbetweenschoolingandeducation.C、Theimportanceofeducation.D、Educationand
GoogleClosesInonDoubleClickDealScoreoneforGoogle.TheFederalTradeCommissionruledDee.20thatitwouldnotbloc
最新回复
(
0
)