数据结构作业系统-答案概论.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
◆2.11② 设顺序表L中的数据元素递增有序。 试写一算法,将x插入到L的适当位置上,并保 持该表的有序性。 要求实现下列函数: void InsertOrderList(SqList L, ElemType x) /* 在有序的顺序表 L 中保序插入数据元素 x */ 顺序表类型定义如下: typedef struct { ElemType *elem; int length; int listsize; } SqList; void InsertOrderList(SqList L, ElemType x) // 在有序的顺序表 L 中保序插入数据元素 x { int i=0,j; while(L.elem[i]xiL.length) i++; for(j=L.length;ji;j--) { L.elem[j]=L.elem[j-1]; } L.elem[i]=x; L.length+=1; } ◆2.12③ 设A=(a1,…,am)和B=(b1,…,bn)均为有序顺序表, A和B分别为A和B中除去最大共同前缀后的子表(例如, A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大 的共同前缀为(x,y,y,z), 在两表中除去最大共同前缀后 的子表分别为A=(x,z)和B=(y,x,x,z))。若A=B=空表, 则A=B;若A=空表,而B≠ 空表,或者两者均不为空表, 且A的首元小于B的首元,则AB;否则AB。试写一个比 较A和B大小的算法。(注意:在算法中,不要破坏原表A 和B,也不一定先求得A和B才进行比较)。 要求实现下列函数: char Compare(SqList A, SqList B); /* 比较顺序表A和B, */ /* 返回, 若AB; */ /* =, 若A=B; */ /* , 若AB */ 顺序表类型定义如下: typedef struct { ElemType *elem; int length; int listsize; } SqList; char Compare(SqList A, SqList B) // 比较顺序表A和B, // 返回, 若AB; // =, 若A=B; // , 若AB { int i=0; while(A.elem[i]==B.elem[i]iA.lengthiB.length) i++; if(i==A.lengthi==B.length) return =; else if(A.elem[i]B.elem[i]||i==A.length) return ; else if(A.elem[i]B.elem[i]||i==B.length) return ; } 2.13② 试写一算法在带头结点的单链表结构上实现线性表操作 Locate(L,x)。 实现下列函数: LinkList Locate(LinkList L, ElemType x); // If x in the linked list whose head node is pointed // by L, then return pointer pointing node x, // otherwise return NULL 单链表类型定义如下: typedef struct LNode { ElemType data; struct LNode *next; } LNode, *LinkList; LinkList Locate(LinkList L, ElemType x) // If x in the linked list whose head node is pointed // by L, then return pointer ha pointing node x, // otherwise return NULL { LinkList p; int i=0; p=L-next; while(p-data!=xp!=NULL) { i++; p=p-next; } return p; } 2.14

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档