欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构和算法实验报告.docx

    • 资源ID:7050125       资源大小:89.49KB        全文页数:11页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构和算法实验报告.docx

    1、数据结构和算法实验报告数据结构实验报告题目: 线性表 班级:网络工程1401班学号: 1408020106 指导教师: 高峰 日期: 2016/7/6 实验一:线性表一:实验要求 掌握数据结构中线性表的基本概念。 熟练掌握线性表的基本操作:创建、插入、删除、查找、输出、求长度及合并并运算在顺序存储结构撒谎能够的实验。 熟练掌握链表的各种操作和应用。二实验内容 1. 编程实现在顺序存储的有序表中插入一个元素(数据类型为整型)。 2. 编程实现把顺序表中从i个元素开始的k个元素删除(数据类型为整型)。 三:实验过程及步骤源代码:#include#include#define LIST_INIT_S

    2、IZE 100#define LISTINCREMENT 10typedef structint * elem;int length;int listsize;SqList;/SqList sq;void InitList_Sq(SqList *sq) /初始化列表sq-elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int);sq-length=0;sq-listsize=LIST_INIT_SIZE;printf(-申请空间成功-!n);void GetElem(SqList *sq,int i)/获取第i位置元素的值 int *p;p=&(sq-elem

    3、i-1);printf(%d,*p);printf(n);int ListInsert_Sq(SqList *sq,int i,int a)/在i位置之前插入aint *p,*q;if(isq-length+1)printf(-位置不合法-!n);return 0;if(sq-length=sq-listsize)int* newbase=(int *)realloc(sq-elem,(sq-listsize+LISTINCREMENT)*sizeof(int);if(!newbase)printf(申请空间溢出n);return 0;sq-elem=newbase;sq-listsize+=

    4、LISTINCREMENT;p=&(sq-elemi-1);/p指向第i位置的元素q=&(sq-elemsq-length-1);/q指向最后一个元素for(;q=p;-q) *(q+1)=*q;*p=a;+sq-length;return 1;int ListDelete_Sq(SqList *sq,int i) /删除i位置上的值int *p,*q;if(isq-length) return 0;p=&(sq-elemi-1);/p指向第i位置的元素q=sq-elem+sq-length-1;/q指向最后一个元素for(+p;plength;return 1;void visit(SqLi

    5、st *sq)/输出数据int i=1;for(;ilength;i+)int *p;p=&sq-elemi-1;printf(%d,*p);printf( );void main()int i=1,a=0,boo=1,number=0;SqList s,*sq;sq=&s;InitList_Sq(sq);printf(初始化空表n);printf(输入数据个数:n);scanf(%d,&number);printf(输入%d个数据:,number);printf(n);for(;i=number;i+)scanf(%d,&a);if(boo=ListInsert_Sq(sq,i,a)prin

    6、tf(-插入成功!-n);elseprintf(-插入不成功,重新插入-!n);i=i-1;printf(输出所有元素n);visit(sq);printf(n);printf(输出删除的位置:);scanf(%d,&a);if(boo=ListDelete_Sq(sq,a)printf(-数据删除成功!-n);elseprintf(-没有删除成功-n);printf(输出所有元素:n);visit(sq);printf(n);printf(输出要显示数据的位置:);scanf(%d,&a);printf(输出%d位置数值n,a);if(asq-length)printf(-输出位置的数据不存

    7、在-n);elseGetElem(sq,a);步骤:1.初始化空表2.顺序插入数据后输出所有元素3.选择删除位置,删除数据后输出所有元素4.选择查看的数据位置,输出选择查看的数据四:实验结果及分析 分析: 本程序在实现顺序存储插入以及删除i个元素开始的k个元素删除(数据类型为整型)。之外在删除、查看是实时输出结果,并且可以查看希望显示数据的位置。数据结构实验报告题目: 树 班级:网络工程1401班学号: 1408020106 指导教师: 高峰 日期: 2016/7/6 实验二:树一:实验要求 掌握二叉树,二叉树排序数的概念和存储方法。 掌握二叉树的遍历算法。熟练掌握编写实现树的各种运算的算法。

    8、二实验内容 统计一棵二叉树中每种类型节点数(度为0/1/2的节点数)。三:实验过程及步骤#include#include#includetypedef struct BitNode int data; struct BitNode *lchild,*rchild; BitNode,*BitTree;BitTree BitTreeInit() BitTree BT; BT=(BitNode*)malloc(sizeof(BitNode); BT=NULL; return BT; BitTree BitTreeCreat(BitTree &BT) int ch; printf(请输入节点的内容,输

    9、入0时结束建立!n); scanf(%d,&ch); if(ch=0) BT=NULL; else BT=(BitTree)malloc(sizeof(BitNode); BT-data=ch; BitTreeCreat(BT-lchild); BitTreeCreat(BT-rchild); return BT; void BitTreeEmpty(BitTree BT) if(BT=NULL) printf(树为空!n); else printf(树非空!n); void PreOrderTraverse(BitTree BT) if(BT!=NULL) printf(树结点的内容为:%d

    10、n,BT-data); PreOrderTraverse(BT-lchild); PreOrderTraverse(BT-rchild); void InOrderTraverse(BitTree BT) if(BT!=NULL) InOrderTraverse(BT-lchild); printf(树结点的内容为:%dn,BT-data); InOrderTraverse(BT-rchild); void PostOrderTraverse(BitTree BT) if(BT!=NULL) PostOrderTraverse(BT-lchild); PostOrderTraverse(BT-

    11、lchild); printf(树结点的内容为:%dn,BT-data); int count(BitTree BT) if(BT=NULL) return 0; else return(count(BT-lchild)+count(BT-rchild)+1); int BinTreeDepth(BitTree BT) int i=1,j=1; if(BT=NULL) return 0; else i=BinTreeDepth(BT-lchild); j=BinTreeDepth(BT-rchild); if(ij) return(i+1); else return (j+1); void B

    12、inTreeClear(BitTree &BT) if(BT) if(BT-lchild) BinTreeClear(BT-lchild); if(BT-rchild) BinTreeClear(BT-rchild); free(BT); BT=NULL; main() int i=1,j,l; BitTree BT; while(i!=0) printf(-欢迎使用-n); printf(请选择要进行的操作n); printf(1.初始化一棵树 2.建立一棵树 3.判断树是否为空n); printf(4.按前序遍历树 5.按中序遍历树 6.按后序遍历树n); printf(7.求树的深度 8

    13、.求树的结点数 9.把树清空n); printf(0.退出操作界面n); printf(-谢谢使用-n); scanf(%d,&j); switch(j) case 1:BT=BitTreeInit();printf(树已经初始化!n);break; case 2:BitTreeCreat(BT);break; case 3:BitTreeEmpty(BT);break; case 4:PreOrderTraverse(BT);break; case 5:InOrderTraverse(BT);break; case 6:PostOrderTraverse(BT);break; case 7:

    14、l=BinTreeDepth(BT);printf(树的深度为:%dn,l);break; case 8:l=count(BT);printf(树的结点数为:%dn,l);break; case 9:BinTreeClear(BT);printf(树已经清空!n);break; case 0:exit(0); 步骤:1.选择进行的操作2.初始化、建立、判断树是否空、先/中/后序遍历、求深度/结点,清空树3.显示结果四:实验结果及分析分析: 本程序不仅可以统计一棵二叉树中每种类型节点数(度为0/1/2的节点数)。同时让他有以下功能:1.初始化一棵树。2.建立一棵树。3.判断树是否为空。4.分别按先/中/后序遍历树。5.求树的深度。6.求树的结点数。7.清空树。


    注意事项

    本文(数据结构和算法实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开