- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.
.
学校代码: 学 号:
学校代码:
学 号:
《面向对象程序设计》实验报告
《面向对象程序设计》实验报告
(
题 目:群体类和群体数据
题 目:群体类和群体数据
学生姓名:
学 院:
系 别:
专 业:
班 级:
任课教师:
二〇一五年十二月
群体类和群体数据
实验目的
了解节点类的声明和实现,学习其使用方法
了解链表类的声明和实现,学习其使用方法
了解栈类的声明和实现,学习其使用方法
了解队列类的声明和实现,学习其使用方法
掌握对数组元素排序的方法
掌握对数组元素查找的方法
二、 实验任务
1. 编写程序Node.h实现例9-5的节点类,并编写测试程序lab9_1.cpp,实现链表的基本操作
2. 编写程序link.h实现例9-6的链表类,在测试程序lab_2.cpp中声明两个整型链表A和B,分别插入5元素,然后把B中的元素加入A的尾部
3. 编写程序queue.h,用链表实现队列(或栈),在测试程序lab9_3.cpp中声明一个整型队列(或栈)对象,插入5个整数,压入队列(或栈),再依次取出并显示出来。
4.(选做)声明course(课程)类,有属性:课程名char name[21]、成绩short score;在实验七的student类中增加属性;所修课程course,为课程类对象的链表。在测试程序中测试这个类,学生类与课程类关系如图
将直接插入排序、直接选择排序、冒泡排序、顺序查找函数封装到第九章的数组类中,作为成员函数,实现并测试这个类
三、实验内容:
1. //9-5.h
#ifndef NODE_CLASS
#define NODE_CLASS
template class T
class Node
{
private:
NodeT *next; //指向后继节点的指针
public:
T data; //数据域
Node (const T item, NodeT* ptrnext = NULL);
void InsertAfter(NodeT *p);
NodeT *DeleteAfter(void);
NodeT *NextNode(void) const;
};
template class T
NodeT::Node(const T item, NodeT* ptrnext) :
data(item), next(ptrnext)
{}
template class T
NodeT *NodeT::NextNode(void) const
{
return next;
}
template class T
void NodeT::InsertAfter(NodeT *p)
{
p-next = next; //p节点指针域指向当前节点的后继节点
next = p; //当前节点的指针域指向p
}
template class T
NodeT *NodeT::DeleteAfter(void)
{
NodeT *tempPtr = next; //将欲删除的节点地址存储到tempPtr中
if (next == NULL) //如果当前节点没有后继节点,则返回NULL
return NULL;
next = tempPtr-next; //使当前节点的指针域指向tempPtr的后继节点
return tempPtr; //返回被删除的节点的地址
}
#endif // NODE_CLASS
//Node.h
#ifndef NODE_LIBRARY
#define NODE_LIBRARY
#include iostream
#include cstdlib
#include 9_5.h
using namespace std;
template class T
NodeT *GetNode(const T item, NodeT *nextPtr = NULL)
{
NodeT *newNode;
newNode = new NodeT(item, nextPtr);
if (newNode == NULL) //如果分配内存失败,程序中止
{
cerr Memory allocation failure! endl;
exit(1);
}
return newNode;
}
enum
您可能关注的文档
最近下载
- 4篇 2025年专题民主生活会个人对照发言材料(四个带头).doc VIP
- 船舶驾驶员实用英语口语.doc
- 公路桥梁小修保养工程常用表格式样.doc
- 南京邮电大学2020-2021学年第1学期《线性代数》期末考试试卷(A卷)及标准答案.docx
- 泌尿科内镜随访制度.docx
- 大学英语综合教程(高级)(华中农业大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 江苏海洋大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 初中物理-内能知识点.doc VIP
- 《语文新课程改革研究》课程考试题库文学类专业(2023年)完整版.doc VIP
- 2023年新版征信报告详细版征信报告模板-Word-可编辑-有水印.docx VIP
文档评论(0)