- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法第一次实验报告
中南大学
《数据结构与算法》课程实验
实验报告
题 目 实验一 线性表的操作
学生姓名
学生学号
专业班级
完成日期 2011/3/30
需求分析
此实验要求我们掌握线性表的基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构和链接存储结构上的运算。顺序存储结构指的是用数组方法,链接存储结构指的是用链表方法,并通过对两种方法基本操作的掌握,实现一元n次多项式的加法运算。
输入的形式:先让用户选择数据存储的位置,然后检查对应的节点,分别输入该项的系数和指数后赋予。
输入值的范围:项数没有要求,随用户增加而增加,但不能过于巨大;系数取为int型数据,指数取为int型数据,
输出的形式:按照提示(比如:“输入的第二个多项式为”、“输入的全部多项式为”等等),会输出原输入的多项式和经过合并之后的多项式,先后顺序与用户输入的一致。
程序所能达到的功能:程序可以对输入的序列紊乱的多项式进行加工,合并指数相同的项,最后输出最终的多项式。
概要设计
链接存储结构:
此方法中用到的抽象数据类型为class类:
class Node//定义一个多项式类,含有系数和指数数据成员,输出式子的成员函数等
{
public:
int x,z;
Node *next;
Node(){
x=z=0;
next=NULL;
}
Node(int i,int j){
next=NULL;
x=i;z=j;
}
void print(){
coutxx^zendl;
}
};
并含有一个链表累Linkedlist;实现链表中的增加删除等操作。
主函数中首先显示菜单,用户输入对应数字则调用不同的函数进行操作,然后返回菜单继续等待用户的操作,直至输入0时退出程序。主函数定义了一个链表类,链表中存储的数据类型为Node型;含有指向头部和尾部的指针head和tail;构造函数中分别给head和tail赋予同一个Node类,并将tail的next指针指向NULL;Node中的默认构造函数将指数和系数的值全部赋予0;并有一个print函数显示该多项式。增加项的时候调用Linkedlist中的Add函数,通过下标将数据存储在链表中对应的位置;删除项时调用链表类的remove函数,同样通过下标将对应位置的数据删除并将剩下的项进行整理。查找某项时调用get函数显示该项;显示全部时调用无参数的get重载函数将全部项输出到屏幕。删除某项和全部项时则分别调用remove和clear函数。
详细设计
1.主函数结构为:
#includeiostream
#includelinklist.h
using namespace std;
void Add(LinkedList Link){//增加项
int x,z,n;
cout输入第几项:endl;
cinn;
cout分别输入该项的系数和指数endl;
cinxz;
if(Link.is(z))//如果已经存在则合并
Link.plus(x,z);
else//否则相加
Link.add(n,x,z);
}
void search1(LinkedList Link){
Link.get();
}
void search2(LinkedList Link){
int n;
cout输入第几项:endl;
cinn;
Link.get(n);
}
void Del1(LinkedList Link){
int n;
cout输入第几项:endl;
cinn;
Link.remove(n);
}
void Del2(LinkedList Link){
Link.clear();
}
void main(){
int n=1;LinkedList Link;
while(n0n6){
cout1.插入项数endl;
cout2.查询全部endl;
cout3.查询单项endl;
cout4.删除单项endl;
cout5.删除全部endl;
cout0.退出endl;
cinn;
switch(n){
case 1:Add(Link);break;
case 2:search1(Link);break;
case 3:search2(Link);break;
case 4:Del1(Link);break;
您可能关注的文档
最近下载
- (安卓手机刷机包制作.doc VIP
- 学生如何预防颈椎疾病.pptx VIP
- 美学观点和历史观点的批评标准市公开课金奖市赛课一等奖课件.pptx
- T_CTSS 58-2022_茶叶感官风味轮.pdf
- 2025年北京市朝阳区高三二模物理试卷及答案.pdf
- 保险投诉培训课件.pptx VIP
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040.docx
- 第52次《中国互联网络发展状况统计报告》.docx
- 八年级下册-【知识速记】备战2023年中考地理核心知识背记(湘教版).docx VIP
- 七年级上册(考点梳理课件)-【知识速记】备战2023年中考地理核心知识背记(湘教版).pptx VIP
文档评论(0)