- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课程的设计实验报告
排序类模板的建立
【摘要】:使用visualstudio2017编写一个程序,此程序需建立一个排序
类模板,使用该模板能将输入的元素按照选择排序和冒泡排序排列成有
序数组,并输出。
【关键词】:C++程序设计、面向对象、排序、类模板
一、实验目的及内容
实验目的
1、重点把握各种内部数据类型、数值和逻辑运算,各种表达式、函数
声明、定义和调用。
2、掌握过程控制编程方法,正确编制多重循环过程,对简单问题能够
临场加以解决。
3、学习良好的编程习惯和形成自己的编程风格。
实验内容
利用模板建立排序类,数据成员包括元素个数,元素数组。要求用
成员函数实现以下功能:①构造函数实现元素的初始化;②选择排序;
③冒泡排序;④排序后数据成员的输出。
二、实验程序设计及结构
需求分析
该实验需要建立一个排序类模板,在建立的排序类模板中输入元素
数组,并将数组进行选择排序及冒泡排序,在主函数中指定对象类型,
使用类模板,输入元素个数与数组元素,将排序后的数组再输出到屏幕。
设计结构
该实验要求建立一个排序的类模板,利用模板建立排序类,首先建
立一个Rank类模板,在类中定义一个整数n (元素的个数)以及一个
- 1 -
指针p (未指定类型),接着编写构造函数,在构造函数中为指针p动
态开辟空间,然后分别编写选择排序与冒泡排序的成员函数,在成员函
数中直接输出,之后编写set 函数,实现从键盘读入元素个数n 以及数
组元素,各成员函数前要重新定义TYPE,最后编写主函数,在主函数
中建立Rank 的对象并指定类型,调用Rank类中的set 函数,选择排序
函数以及冒泡排序函数即可。
三、设计过程
【输入描述】:
输入成员函数元素个数,同时输入元素数组。
【输出描述】:
将输入的元素数组重新排序并输出。
【程序代码】:
#includeiostream
using namespace std;
templatetypename TYPE
class Rank //创建排序类
{
public:
Rank(int m 0, TYPE *x 0); //声明构造函数
void set();
TYPE select_sort();
TYPE bubble_sort();
private:
int n;
TYPE *p;
};
int main() //主函数
{
cout 请输入数组个数 endl;
cout endl 再输入数组元素 endl;
Rank double r; //建立对象
- 2 -
r.set(); //调用set函数
r.select_sort();
r.bubble_sort();
}
templatetypename TYPE
RankTYPE::Rank( int m, TYPE *x) //构造函数
{
n m;
p x;
}
templatetypename TYPE
void RankTYPE::set() //输入元素
{
cin n;
p new double[n];
int i;
for (i 0; i n; i++)
{
cin *(p + i);
}
}
templatetypename TYPE
TYPE RankTYPE::select_sort() //选择排序
{
文档评论(0)