网站大量收购独家精品文档,联系QQ:2885784924

《第二章部分作业答案》.ppt

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《第二章部分作业答案》.ppt

算法实现: Status ListConvert_Sq ( Sqlist L) //将线性表中的元素逆置 {for(i=0,j=L.length-1;ij;i++,j--) L.a[i]---L.a[j]; return OK; } 作业: 如何逆置一个单链表为一个新表? 算法实现: Status ListConvert_L ( LinkList L) {p=L-next; while(p-next!=NULL) { q=p-next; p-next=q-next; q-next= L-next; L-next=q; } return ok; } Status LNodeSwap_L ( LinkList L,int i) { s=L; p = L-next ;j = 1 ; while (p p-next j i ) { s=s-next; p = p-next; ++j ;} if ( !p||! (p-next) || j i ) return ERROR ; q=p-next; p-next=q-next; q-next=p; s-next=q; return OK; } * 作业: 设顺序表 va 中的数据元素递增有序,试写一算法,将 x 插入到顺序表的适当位置上,仍保持有序性。 # define LIST_INIT_SIZE 100 # define LISTINCREMENT 10 //定义顺序表的存储结构 typedef struct { Elemtype elem[ ] ;// == * elem int length ; // 表长,初始为 0 int listsize ;// 表存储容量 } SqList ; 算法实现: Status ListInsertElem_Sq ( Sqlist va ,ElemType e ) //将元素e插入到递增有序表va中,使得va仍有序 {if(va.length+1va.listsize) return ERROR; for( i= va.length-1;e va.elem[i]i=0;i--); va.elem[i+1]= va.elem[i]; va.elem[i+1]=e; va.length++; //新元素插入,改变原来线性表的长度 return OK; } 试写一算法,实现顺序表的逆置,即 ( a1,a2,…,an ) 逆置为 ( an,an-1,…,a1 ) 。 //定义顺序表的存储结构 typedef struct { Elemtype a[ ] ;// == * elem int length ; // 表长,初始为 0 int listsize ;// 表存储容量 } SqList ; 算法思想: 从原单链表中第二个结点开始,依次取出,插入到头结点和第一个结点之前,一直到原来链表的最后一个元素。 //定义单链表的存储结构 typedef struct LNode { ElemType data ; struct LNode * next ; } LNode ,* LinkList ; 作业: 设计算法,将单链表 L 中的第 i 个结点和其后继结点交换位置,要求只修改指针。 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档