网站大量收购独家精品文档,联系QQ:2885784924

数据结构与算法第一次实验报告.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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;

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档