1 / 24
文档名称:

数据结构实验报告.doc

格式:doc   大小:110KB   页数:24页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.doc

上传人:水中望月 2019/11/17 文件大小:110 KB

下载得到文件列表

数据结构实验报告.doc

相关文档

文档介绍

文档介绍:--------------------------校验:_____________-----------------------日期:_____________数据结构实验报告数据结构实验报告学号:08055140班级:计算机86姓名:邓凯提交日期:091216第一次上机实****题目运用链表实现数据的排序,并检测:(一)、12、21、34、56、23、36、87、13、987。(二)、9、2、4、1、5、3、6、7、8、12、13、11、10。(三)、234、162、289、999、435、90三组数据。二、相关知识或技术(对应DS部分)C++的一些基本知识,以及链表的创建以及应用之类的知识。算法及数据结构设计(算法设计)voidsort(Lnode*L)//链表中元素按递增排序{Lnode*p,*q,*r,*s;if(L->next!=NULL){p=L->next->next;L->next->next=NULL;}while(p){q=p;p=p->next;r=L;s=L->next;{r=s;s=s->next;}r->next=q;q->next=s;}四、上机环境和使用语言(计算机程序实现)Microsoftvisualc++;使用c++语言五、源程序(带注释或说明)、运行结果(数据或屏幕显示、结果分析、讨论T(n))#include<iostream>usingnamespacestd;structData{intshuju;intinfo;};structLnode{Datadata;Lnode*next;};Lnode*creat();voidsort(Lnode*L);voidprint(Lnode*head);intmain(){Lnode*L;L=creat();sort(L);print(L);return0;}Lnode*creat()//链表的创建{Lnode*L,*p,*q;L=newLnode;inti,n;cout<<"请输入该链表的长度"<<endl;cin>>n;cout<<"输入数据项shuju的值"<<endl;q=L;for(i=0;i<n;i++){p=newLnode;q->next=p;q=p;}q->next=NULL;returnL;}voidsort(Lnode*L)//链表中元素按递增排序{Lnode*p,*q,*r,*s;if(L->next!=NULL){p=L->next->next;L->next->next=NULL;}while(p){q=p;p=p->next;r=L;s=L->next;{r=s;s=s->next;}r->next=q;q->next=s;}}voidprint(Lnode*L)//递增输出{L=L->next;cout<<"递增输出数据的值"<<endl;while(L!=NULL){L=L->next;}}输入12、21、34、56、23、36、87、13、987运行结果:输入:9、2、4、1、5、3、6、7、8、12、13、11、10运行结果:输入:234、162、289、999、435、90运行结果:T(n)=n;六、上机总结本最近正在学线性表、栈、对列之类,我对这些知识真是陌生,尝试着写了,可总是调试不过,总会出现大堆的问题。有时候没有错误,可也没有运行结果,已经到了最后的期限了,也只能和老师打个擦边球,运用以前还算熟悉的链表,也就是线性表做了做编程最为基础,最为常见的事情,排序。不过,虽说如此但也是有所感悟,线性表大都会用到指针,而用指针则往往会出错,也就是说,学****数据结构,出错是在所难免的。而且学****一定要学个清楚,在这里,只要有一丝含糊,就会出错,一定要认真对待。七、(c语言版)++面向对象程序设计西安交大出版社第二次上机实****题目建立二叉树,并对其进行先序、中序、后序三种不同的遍历,并测试以下数据(一)、ab##c###(二)、abc##de#g##f###(三)、abc#de##f##i##g#hj###三组数据。二、相关知识或技术(对应DS部分)C语言,C++的一些基本知识,树的建立、遍历以及应用之类的知识。算法及数据结构设计(算法设计)先序遍历voidPreOrder(BinTreeroot)//{if(root!=NULL){printf("%c",root->data);PreOrder(root->lchild);PreOrder(root->rchild);}}中序遍历voidInOrder(BinTreeroot)/{if(root!=NULL){PreOrder(root->lchild);printf("%c",root->dat