首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
62
问题
请打开考生文件夹下的解决方案文件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://www.kaotiyun.com/show/Nw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果为【 】。#include<iostream,h>voidmain(){inti;for(i=1;i<6;i++)if(i==3)break:
以下程序输出结果是______。#include<iostream.h>voidn(inti);voidf2(inti);charst[]=”Howdoyoudo!”;voidfl(inti){
在结构化方法中,软件功能分解属于下列软件开发中的阶段是()。
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
在C++语言中,一个函数的定义前加上关键字【】时,该函数就声明为内联函数。
有关构造函数的叙述不正确的是
下列程序输出的结果是()。#include<stdio.h>sub1(chara,charb){charc;c=a;a=b;b=c:}sub2(char*a,charb){charc;c=*a;”a=b:b=c
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3。请将下列语句补充完整。Do{Sum+=【7】:n=n/10;)while(n!=0)
随机试题
《尝试集》的作者是()
Americanwomenwere______therighttovoteuntil1920.
主动脉瓣狭窄二尖瓣关闭不全
腹股沟斜疝与直疝最有意义的鉴别点是
[2006年,第34题]在单缝夫琅和费衍射实验中,屏上第三级暗纹对应的缝间波阵面,可划分为半波带数目为()。
下列关于沉井设计计算的说法,正确的是()。
下列方法中,能够用于资本结构优化分析并考虑了市场风险的是()。
有些南京人不爱吃辣椒,那么有些爱吃甜食的南京人肯定不爱吃辣椒。以下哪项能保证上述推理成立?
试述蒙台梭利教育思想、教育内容及其教育方法。(广西)
Howcouldwepossiblythinkthatkeepinganimalsincagesinunnaturalenvironments—mostlyforentertainmentpurposes—isfairan
最新回复
(
0
)