第3次-第2章-线性表及其顺序存储讲解.pptVIP

第3次-第2章-线性表及其顺序存储讲解.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(2)void sprit(seqlist *l1,seqlist *l2, seqlist *l3) 将有序顺序表l1分裂成两个线性表l2与l3,l2由表中所有奇数组成,l3由所有偶数组成。 void sprit(sequence_list *L1,sequence_list *L2, sequence_list *L3) { int i=0,j=0,k=0; while(iL1-size) { if(L1-a[i]%2==0) L3-a[k++]=L1-a[i++]; else L2-a[j++]=L1-a[i++]; } L2-size=j; L3-size=k; } (3)void merge(seqlist *l1,seqlist *l2, seqlist *l3) 将有序顺序表L1与L2合并成有序顺序表L3。 void merge(sequence_list *L1,sequence_list *L2,sequence_list *L3) { int i=0,j=0,k=0; while ((i=L1-size-1) (j=L2-size-1)) if (L1-a[i]L2-a[j]) L3-a[k++]=L1-a[i++]; else L3-a[k++]=L2-a[j++]; while (i=L1-size-1) /*处理l1中剩余元素*/ L3-a[k++]=L1-a[i++]; while (j=L2-size-1) /*处理l2中剩余元素*/ L3-a[k++]=L2-a[j++]; L3-size=k; /*置线性表l3长度*/ } 4.假设顺序表la与lb分别存放两个整数集合,函数inter(seqlist *la,seqlist *lb,seqlist *lc)的功能是实现求顺序表la与lb的交集存放到顺序表lc中,请将函数补充完整。 void inter(sequence_list *la,sequence_list *lb,sequence_list *lc) { int i=0,j=0,k=0; for(i=0;ila-size;i++) for(j=0;jlb-size;j++) { if(la-a[i]==lb-a[j]) { lc-a[k++]=la-a[i++];break;} } lc-size=k; } 5、设计一个算法将一个顺序线性表中的所有奇数集中到数组的左边,所有的偶数集中到数组的右边,要求算法的时间复杂度为O(n)。 void partion(sequence_list *L) { int i=0,j=L-size-1; datatype t; while(ij) { while(L-a[i]%2!=0) i++; while(L-a[j]%2==0) j--; t=L-a[i]; //交换 L-a[i]=L-a[j]; L-a[j]=t; i++; j--; } } 线性表有两种存储结构: 1.顺序存储—顺序表 2.链式存储-链表 * * 6y * 2.4.2顺序队列及其实现 队列的顺序存储在C语言中可以用一维数组表示,为了标识队首和队尾,需要附设两个指针front和rear,front指示的是队列中最前面,即队首结点在数组中元素的下标,rear指示的是队尾结点在数组中元素的下标的下一个位置,也就是说rear指示的是即将插入的结点在数组中的下标。 队列的几种状态 : 队首、队尾指针 front rear 数组下标 0 1 MAXSIZE-1 (a)初始状态---空队列 A B 队首、队尾指针 front rear 数组下标 0 1 MAXSIZE-1 (b)连续插入几个结点后的状态 D C 队首、队尾指针 front rear 数组下标

文档评论(0)

美洲行 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档