《数据结构与算法》实验四 1017Word格式.docx
《《数据结构与算法》实验四 1017Word格式.docx》由会员分享,可在线阅读,更多相关《《数据结构与算法》实验四 1017Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
成员函数:
Date(intyear,intmonth,day);
//构造函数用于初始化数据成员
boolModify_Year(constintyear);
//用于修改数据成员
boolModify_Month(constintmonth);
//用于修改数据成员
voidDisplay_Date();
//用于显示数据成员
boolIsLeap();
//用于判断是否闰年
另外:
闰年:
整百年能被400整除的是闰年.(如:
2000)
除整百年外的年份能被4整除的是闰年.
《代码范例1:
》
ClassDate
{
Private:
IntYear;
IntMonth;
IntDay;
Public:
Date(intyear,intmonth,intday);
};
BoolDate:
:
Date(intyear,intmonth,intday)
Year=year;
Month=month;
Day=day;
}
boolDate:
Modify_Year(constintyear)
}
Modify_Month(constintmonth)
Month=month;
boolDate:
IsLeap()
If(0==Year%400||0==Y%400)
{returntrue;
Else
{returnfalse;
VoidDate:
Display_Date()
{;
Voidmain()
Datedate(2013,10,18);
//定于一个Date类对象date
Date.Display_Date();
//利用对象date调用函数
2、利用template知识构造一个通用的求最小值函数模板
(注意:
掌握好的同学试着构造一个通用的排序函数模板
(必做题)
VoidSort_Data(T[],intsize))
《代码范例1:
Template<
classT1>
T1MiN(T1a,T1b)
Returna>
b?
b:
a;
Cout<
<
Min(3,2);
Min(3.3,3.9);
3、利用template知识构造一个简单的A类模板(必做题)
classT1,classT2>
ClassA
T1a;
T2b;
VoidSet(T1aa,T2bb);
a=aa;
b=bb;
VoidDisplay();
VoidA<
T1,T2>
Set(T1aa,T2bb)
{
Display()
a<
b<
endl;
Aa1<
int,double>
;
a1.Set(12,13.2);
Aa2<
int,int>
4、用类模板、danlian表知识定义单链表类,并举例加以验证。
(注:
类中须要有增加、删除、)。
(***选做)
《代码范例:
(1)、先定义数据元素(结点)类:
用于结点元素中
data、next的封装。
D
例如:
classElem>
structNode
{
Elemdata;
Node<
ClassElem>
*Next;
(3)、然后定义数据元素(结点)类:
用与形成链表及相关操作
部分代码:
ClassLinkList
Protected:
*head;
//数据成员
*GetElementPtr(intpos);
LinkList();
~LinkList();
BoolLength()const;
BoolDeleteElem(intpos,Elem&
e);
BoolInsertElem(intpos,Elem&
};
5、用单链表知识定义多项式类,并举例加以验证(*****选做)。
3、实验预备知识
1、类模板
类模板:
是对一批仅仅类成员(数据成员或成员函数)的数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,从而大大提高编程的效率。
例1:
ClassT1
{intdata;
voidSet(intda)
{data=da;
}
};
ClassT2
{doubledata;
voidSet(doubleda)
2、类模板定义格式
定义类模板的一般形式:
template<
class类型名1,class类型名2,…>
class类名
类声明体;
};
类模板中成员函数定义格式:
函数返回值类型类名<
类型名列表>
:
函数名(参数列表)
{;
3、模板类对象的定义
与函数模板相同,类模板只有使用的时候才被具体化为某一种类型
使用模板类来产生对象时,按如下形式声明:
类名<
模板参数表>
对象名1,......对象名n;
4、顺序表的知识参考课件
插入操作:
删除操作:
5、单链表的知识参考课件
删除操作:
插入操作:
四、实验存在问题和解决办法
五、意见和建议
六、教师评语(或成绩)
教师签字:
年月日