数据结构实验报告new.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验报告new.doc

本科实验报告 课程名称: 数据结构 实验项目:线性结构、树形结构、图结构、查找、排序 实验地点: 逸夫楼302 专业班级: 软件1225班 学号: 2012005700 学生姓名: 宋立伟 指导教师: 杨永强 2013年 1 月 2日 实验名称:线性表 一.目的与要求 本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。 二.例题 [问题描述] 用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。 [输入] 初始字符串,插入位置,插入字符,删除字符。 [输出] 已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。 [存储结构] 采用链式存储结构 [算法的基本思想] 建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。 [参考源程序] #define NULL 0 typedef struct node{ ??? char a; ??? struct node *link; }node,*nodelink; void readlink(nodelink head){ ??? nodelink p,q; ??? char c; ??? p=head; ??? printf(Input a linktable(a string):); ??? scanf(%c,c); ??? if (c==\n) printf(This string is empty。); ??? while(c!=\n){ ?????? q=(nodelink)malloc(sizeof(node)); ?????? q-a=c; ?????? p-link=q; ?????? p=q; ?????? scanf(%c,c); ??? ? } ??? p-link=NULL; } void writelink(nodelink head){ ??? nodelink q; ??? if (head-link==NULL) printf( This link is empty。\n); ??? for(q=head-link;q;q=q-link) ?????? printf(%c,q-a); ??? printf(\n); ??? } int? insert(nodelink head,char k1,char k2){ ??? nodelink p,q; ??? p=head-link; ??? while(p-a!=k1p) ?????? p=p-link; ??? if(p){ ?????? q=(nodelink)malloc(sizeof(node)); ?????? q-a=k2; ?????? q-link=p-link; ?????? p-link=q; ?????? return 1; ??? ? } ??? else? { ?????? printf(There is no %c\n,k1); ?????? return 0; ??? ??} } int? delete(nodelink head,char k){ ??? nodelink p,q; ??? q=head; ??? p=head-link; ??? while(((p-a)!=k)p){ ?????? q=q-link; ?????? p=p-link; ??? ? } ??? if(p){ ?????? q-link=p-link; ?????? return 1; ?????? } ??? else{ ?????? printf(There is no %c\n,k); ?????? return 0; ??? ? } } void opside(nodelink head){ ??? nodelink p,q; ??? p=head-link; ??? whi

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档