ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:96.82KB ,
资源ID:21508182      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21508182.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(空间数据结构课程设计报告文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

空间数据结构课程设计报告文档格式.docx

1、x=x y=y z=zendl; ;class TBall:public TPoint double r; TBall(double a):TPoint()r=a; TBall(double b,double c,double d,double e):TPoint(b,c,d)r=e; double Area()return 4*PI*r*r; double Volume()return 4*PI*r*r*r/3; void Show(); void input();void TBall:Show() cout球的球心坐标为:(,)球的体积为:Volume()球的表面积为:Area()void

2、 main() TBall B1(1,2,3,4); TBall B2(4); B1.Show(); B2.Show();【实现界面】【实践体会】三维空间球的程序代码我原本是仅由原有代码稍加修改后得到的,但在执行时,输出的数据出现了错误,球的面积和体积计算出的结果出现了负数,所以我对原有的程序代码进行了简化和修改,重新进行了编辑。链表的建立、合并、逆转和拆分【实验目的】本例给出了较完整的顺序表的抽象数据类型定义,通过 C+类模板的应用体现了数据抽象原理。【问题描述】定义一个链表存储的线性表,除已给出的表元素插入、删除、查找等基本操作外,再提供表的合并、拆分和逆置等操作。在应用程序中建立两个整型

3、的单链表对象 A和 B,应用线性表的基本操作对表的实例对象进行操作测试。【数据结构】定义一个链表结点类 LinkNode 和一个线性链表类 List,提供表元素的插入、删除、查找和以下操作。1. 设线性链表 A=(a1,a2,am),,B=(b1,b2,bm),按下列规则合并 A,B 为线性表 C的算法,即使得 C = (a1,b1,am,bm, b (m+1),bn) 当 mn C 表利用 A表和 B 表中的结点空间构成。2. 将 C 表原地逆置。3. 将 C 表的中偶数和奇数分别链接为两个循环链表 D和 E。【主要功能】可以输入一个单链表,实现单链表的合并、拆分和逆置等操作,且每次结果均可

4、输出。stdlib.htemplatestruct LinkNode T data; LinkNode *link; LinkNode(LinkNode *ptr=NULL) link=ptr; LinkNode(const T& item,LinkNode*ptr=NULL) data=item; link=ptr; class List public: List()h= new LinkNode; List(const T& x)h= new LinkNode(x); List(List &L); List()makeEmpty(); void makeEmpty(); int Lengt

5、h()const; LinkNodelink=NULL?true:false; bool IsFull()constreturn false; void reverse(); void input(T endTag); void output(); List& operator=(List L); protected: *h;ListList(List L) T value; *srcptr= L.getHead(); *desptr=h=new LinkNodelink!=NULL) value=srcptr-link-data; desptr-link=new LinkNodelink;

6、srcptr=srcptr- desptr-link=NULL;void List q=h- h-link=q- delete q;int List int count=0; while(p! p=p-count+; return count;LinkNode *List while(current! if(current-data=x)break; else current=current- return current;Locate(int i) if(i0) return NULL; *current=h; int k=0;=NULL&kk+; return current;bool L

7、istreturn ture;setData(int i,T &x)=0) return; if(current=NULL) return; else current-data=x;Insert(int i,T & *newNode=new LinkNode if(newNode=NULL) cerrlink=current- current-link=newNode; return true;Remove(int i,T & *current=Locate(i-1); if(current =NULL|current-link=NULL) return false; *del =curren

8、t-link=del- x=del- delete del;output()* current=h- coutdataoperator=(Listval; last=h; while(val!=endTag) newNode= new LinkNode(val); if(newNode=NULL) cerr last=newNode; cin last-reverse() *last,*led,*q; last=h- led=h- while(last- last=last- while(last!=led) q=led; led=led-link=led; q-link=last-link=

9、q;void Union(ListA,List *q=destptr- if(mn) while(q! destptr- q-link=p- p- p=p- q=destptr- else for(int i=1;im;i+)void Split(List int value; List value=led- if(value%2=0) scrptr- scrptr=scrptr- else if(value%2=1) destptr=destptr- scrptr- destptr-原链表拆分成D、E两个链表D表元素全为偶数,依次是: D.output();E表元素全为奇数,依次是: E.o

10、utput(); A; B; A.input(0); B.input(0); Union(A,B); C(A);两链表合成后,单链表的元素依次是: C.output(); C.reverse();链表逆转后的元素依次是: Split(C);程序的代码在编辑时,在链表的合并和拆分上,程序的逻辑结构我没有分析明了,开始设计代码时没有成功,之后参考了同学的算法设计才编出代码,同时在主函数的编辑时,有关函数的调用我还是不很清楚,也是询问同学后编译出的。中缀转后缀【实验目的】中缀转后缀问题可借助栈来处理。本实验题有助于掌握栈的应用技术。【问题描述】表达式转换。输入的中缀表达式为字符串,转换得到的后缀表达

11、式存入字符数组中并输出。例如: a*(x+y)/(b-x) 转换后得: a x y + * b x - /【数据结构】定义一个暂时存放运算符的转换工作栈opst。中缀表达式字符串char *infix;后缀表达式字符串char *postfix;【主要功能】输入一个中缀表达式,输出的是该算法的后缀表达式。assert.hconst int stackIncreament=20;class Opst Opst(int sz=50); Opst()deleteelements; void Push(const T& bool Pop(T& bool getTop(T& bool IsEmpty()

12、constreturn(top=-1)? bool IsFull()constreturn(top=maxSize-1)? int getSize()constreturn top+1; void makeEmpty()top=-1; friend ostream& operator (ostream& os,Opst s); private: T *elements; int top; int maxSize; void overflowProcess();OpstOpst(int sz):top(-1),maxSize(sz) elements= new TmaxSize; assert(

13、elements!=NULL);void OpstoverflowProcess()*newArray=new TmaxSize+stackIncreament; if(newArray=NULL)cerr存贮分配失败! for(int i=0;=top;i+) newArrayi=elementsi; maxSize=maxSize+stackIncreament; deleteelements; elements=newArray;Push(const T& x) if(IsFull()=true)overflowProcess(); elements+top=x;bool OpstPop

14、(T& if(IsEmpty()=true)return false; x=elementstop-;getTop(T& if(IsEmpty()=true)return false; x=elementstop;template ostream& operator s) ostop=s.top=s.top; oss.elementsi return os;int isdigit(char ch) switch(ch) case+case-*/() return 0; break; default: return 1;break;int isp(char ch)# return 0; return 5;% return 3; return 6; default: break;int icp(char ch) switch(ch) return 4; return 2;b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1