数据结构作业答案.pptxVIP

  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文档。上传文档
查看更多

线性表作业答案020304050601#defineMaxSize顺序表的最大元素个数编写算法实现顺序表的就地逆置。typedefstructSeqList;DataTypelist[MaxSize];??tsize;

voidConverseSeqList(SeqList*L){intmid,i;DataTypex;mid=L-size/2;for(i=0;imid;i++){x=L-list[i];L-list[i]=L-list[L-size-1-i];L-list[L-size-1-i]=x;}}

编写算法实现单链表的就地逆置。先定义结点结构:typedefstructNode{DataTypedata;structNode*next;}SLNode;

voidConverseSList(SLNode*head){SLNode*p,*q;p=head-next;head-next=NULL;while(p!=NULL){q=p;p=p-next;q-next=head-next;head-next=q;}}

=minkminkmaxk=maxk3、已知线性表中的元素以值递增有序排列,并以单链表作存储结构。设计算法删除表中所有值大于mink且小于maxk的元素。分析:删除的结点的特点:

voidDelete_Between(SLNode*L,intmink,intmaxk)//删除元素递增排列的链表L中值大于mink且//小于maxk的所有元素

{?SLNode*p,*pre,*q,*s;p=L-next;while(pp-data=mink){pre=p;p=p-next;}if(p){while(pp-datamaxk)p=p-next;q=pre-next;pre-next=p;while(q!=p){s=q;q=q-next;free(s);}}??

已知A、B和C为三个有序链表,编写算法从分析:被删元素的特点:ai=bj=ckA表中删除B表和C表中共有的数据元素。其它元素则为:aibj或bjck或ckai2341

设三个指针pa,pb,pc分别指向这三个链表中的相应结点,则算法中的主要操作为:if(pa-datapb-data){pre=pa;pa=pa-next;}elseif(pb-datapc-data)pb=pb-next;elseif(pc-datapa-data)pc=pc-next;else{pre-next=pa-next;free(pa);pa=pre-next;}循环条件:三个指针均不为空。

voidDelSame(SLNode*la,SLNode*lb,SLNode*lc){SLNode*pre,*pa,*pb,*pc;pre=la;pa=la-next;pb=lb-next;pc=lc-next;while(papbpc){if(pa-datapb-data){pre=pa;pa=pa-next;}elseif(pb-datapc-data)pb=pb-next;elseif(pc-datapa-data)pc=pc-next;else{pre-next=pa-next;free(pa);pa=pre-next;}}}

5、设将n(n1)个整数存放到一维数组R中。试设计一个在时间和空间两方面尽可能高效的算法,将R中的序列循环左移p(0pn)个位置,即将R中的数据由(x0,x1,…,xn-1)变换为(xp,xp+1,…,xn-1,x0,x1,…,xp-1)。要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C++语言描述算法,关键之处给出注释。(3)说明你所设计算法的时间复杂度和空间复杂度。

算法的基本设计思想:先将n个数(x0,x1,…,xp,…,xn-1)原地逆置,得到(xn-1,…

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档