首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3
admin
2020-05-14
94
问题
请使用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全国计算机二级
相关试题推荐
假设有函数模板定义如下,下列各选项中正确的是( )。 Template <class T> T Max(T a,T b,T c) { if(a<b) {if(b<c) return c;
()复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。
下列程序的输出结果是非曲直【 】。#include<iostream,h>classbase{intx,y;public:base(inti,intj){x=i;y=j;}virtualintadd(){
如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生______静态变量。
有如下程序:#include<iostream.h>Usingnamespacestd;ClassDemo{public:Demo(){cout<<“defaultconstructor\n”;}
以下程序的输出的结果是()。#includeintx=3:voidmain(){voidfun();inti;for(i=1;i
有如下程序:#include<iostream.h>voidmain(){intx=2,y=3,a,b,c,d;a=(x++>=--y);b=(x==++y);c=(x--!=y);d=(++x>y--);Cout<<a<<b<<c<
类模板template<classT>classx{...},其中,友元函数f对特定类型T(如int),使函数f(x<int>);成为x<int>模板类的友元,则其说明为()。
已知类A中有公用数据成员B *b;其中B为类名。则下列语句错误的是
在C++中,动态创建对象可以使用【 】操作符来完成。
随机试题
正常机体氧化磷酸化速度的主要调节因素是
急性乳腺炎的治疗原则不正确的是
A.缩孔B.粘砂C.砂眼D.毛刺E.冷隔铸件上形成了个别扁形微小的孔穴称
纯镁具有的特点包括()。
我国禁止将回购资金用于()。
()是针对复杂的技术创新项目中的技术难题或较简单小型的技术项目而成立的,组成人员少,但工作效率高。
可促进锌吸收的有()。
美国是_________学制的典型代表。
社区交往是社区居民所进行的人际交往活动。目前,社区居民的社交活动范围比较狭小,多限于邻里之间的熟人社交;社交方式较为单一,多采用餐桌社交、电视社交、宠物社交和网络社交。随着社会现代化程度的提高,丰富精神生活空间成为居_民的普遍需求。让社区居民(尤其居家型居
“细”,就是对打击对象一定要调查准确,不要出偏差,做到事实准、定性准、量刑准。( )
最新回复
(
0
)