复旦大学数据结构教程课后习题答案第一章.pdfVIP

复旦大学数据结构教程课后习题答案第一章.pdf

  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.1 2 C 1.存储法:用两个数组存放线性表。 2.存储结构:一般的顺序存储方式。 3.源程序: int comp(int a[],int as,intb[],intbs) { inttmp asbs?as:bs; int i; for(i 0;itmp;i++) { if(a[i]b[i])return 1; if(a[i]b[i])return -1; } if(asbs)return 1; if(bsas)return -1; return 0; } 4.测试用例: . 1 A[3] {1,2,3}B[3] {1,2,3}output :0; . 2 A[3] {1.2.3}B[3] {1,1,3}output: 1; . 3 A[3] {1,2,3}B[3] {1,2,4}output:-1 . 4 A[3] {1,2,3}B[4] {1,2,3,0}output:-1; . 5 A[4] {1,2,3,0}B[3] {1,2,3}output: 1; . 6 A[4] {1,2,3,0}B[3] {1,3,2}output:-1; 1.2 写一个倒置顺序存贮的线性表的 函数。要求用最少的附加存贮空间来完成。 C 分析:假设用数组 存贮一组 类型的数据,每次将 [0]取出,其余数依次前移,然后  a int a 将 放到 尚未倒置的数据元素的最后,直至整个数组完成倒置。 a[0] 算法:(1)取 ,余下的 , , 依次前移一个位置; (2) ;  t a[0] a[1] a[2] ...a[n-1] a[n-1] t (3)对由 , 组成的数组重复上述步骤。 a[0] a[1]...a[n-2] 程序: # includestdio.h # define N 10 void reverse(a,n) int a[]; int n; {int t,i,j 0; while(jn-1) {t a[0]; for(i 0;in-j-1;i++) a[i] a[i+1]; a[i] t; j++; } } void main( ) {int a[N]; int i; printf(Input the array:\n); for(i 0;iN;i++) scanf(%d, a[i]); reverse(a,N); printf(The reversed array:\n); for(i 0;iN;i++); printf(%d ,a[i]); printf(\n); } Sample: Input the array: 0 12 3 4 5 6 7 8 9 The reversed array: 9 8 7 6 5 4 3 2 10 1.3 在具有n个结点的顺序存贮的线性表中,对值相同的结点只保留一个,把多余的结点删 除掉,使线性表中没有值相同的结点。试编写一个实现上述操作的C函数,并分析该程序的 执行时间。 解答: 首先应对线性表中每一个结点进行搜索,找到和他值相同的结点就把其删除,同时改变 原结点的个数。主要运用两层循环:最外层对线性表中的第0到第n-2个元素进行扫描,第 二层是对于第一层的每一个元素从其后面一个元素开始扫描,检查是否有和该元素值相同的 元素若有则删除该元素,若无则循环关键值+1进行下一个元素比较

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档