数据结构复习1.pdfVIP

  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文档。上传文档
查看更多
数据结构复习1

小谈数据结构的复习方法 李震 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及 它们之间相互关系和操作等的学科,也是我们电子信息类专业大平台必修课,所 以我们很有必要把这门功课学习好,下面我就浅谈一下我对这么课的理解以及我 对这门课的学习、复习方法。 学习数据结构我们首先要了解数据的逻辑结构,下面是我总结的数据的逻辑 结构图,有了这个图我们就能清楚地明白我们究竟要学什么,学了什么。 从上图中,根据教学要求,我们只须掌握线性结构中线性表、栈、队列,以 及非线性结构中树与二叉树的基本操作。我就先从线性表开始介绍,一般线性表 分为顺序表和链表,顺序表相对简单,最重要的是明白顺序表的本质就是开辟一 个连续的存储空间来存储你录入的数据,其实也可以把顺序表想像成数组,功能 大致相同,相信大家对数组操作都很熟悉,在此就不多介绍,然后就是会简单的 几个函数操作,分别是初始化 InitList_Sq(),插入 ListInsert_Sq(),删除 ListDelete_Sq(),合并MergeList()等,书上均有算法,大家可以仔细看看; 接下来是链表,链表比顺序表稍微复杂些,加上一些指针的操作,只要C语言过 关,应该也很好理解,下面就我自己编的一个链表讲解,可能更容易理解一些。 #include stdio.h #include stdlib.h typedefint status; #define ERROR O #define OK 1 typedefstructLNode{ int data;//链表的数据域 LNode *next;//链表的指针域 }LNode,*Linklist;//定义一个链表 status Createlist_L(LinklistL,int n)//产生链表 { L=(Linklist)malloc(sizeof(LNode));//给头指针分配内存 L-next=NULL;//头指针指向空,构建一个空链表完成 LNode *p; for(inti=0;in;i++){ p=(Linklist)malloc(sizeof(LNode)); scanf(%d,(p-data)); p-next=L-next; L-next=p; }//逆序将数据录入链表中 return OK; } void MergeList_L(LinklistLA,Linklist LB)//将A,B两个链表中相同的数 据输出 { LNode *pa,*pb,*temp=LA;inti=0; pa=LA-next; pb=LB-next; while (papb) { if (pa-data==pb-data)//寻找A,B交集 { temp-data=pa-data; //将相同元素存储在临时链表里面 temp-next=new LNode;//构建临时链表此处new相当malloc(new 为C++语句) temp=temp-next; i++;//计数器,记录相同数据的个数 pa=pa-next; pb=pb-next; } else if (pa-datapb-data) pa=pa-next; elsepb=pb-next; } temp=LA;//将临时链表覆盖A链表 if(i==0) printf(A∩B=空集); printf(A∩B=); for(int j=1;j=i;j++) { printf(%d\t,temp-data); temp=temp-next; }//输出交集 printf(\n); } void main() { LinklistLA,LB;intm,n; printf(请输入LA长度:); scanf(%d,m); printf(请输入LA:); Createlist_L(LA,m); printf(请输入LB长度:); scanf(%d,n); printf(请输入LB:);

文档评论(0)

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

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

1亿VIP精品文档

相关文档