西电C面向对象程序设计软件技术基础课后答案.docVIP

西电C面向对象程序设计软件技术基础课后答案.doc

  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文档。上传文档
查看更多
西电C面向对象程序设计软件技术基础课后答案.doc

习题3 四、1 int compare(SeqList*La,SeqList*Lb) { inti; i=l; while(i=La-lasti=Lb-Last La-data[i]==Lb-data[i]) i++; if(i=La-lastjLb?lastll La-data[i]Lb-data[i]) return 1; //AB if(iLa-lastjv二Lb?lastll La-dataliJLb-data[iJ) return -1; //AB if(iLa-lastjLb?last) return 0; //A=B } 四、2 (1)顺序表 int invert(SeqList*L) { int i=l; datatype temp; while(i=L-last/2) { temp=L-data[i]; L-data[i]=L-data[L-last-i+l]; L-data[L-last-i+1 ]=temp; } } (2)链表 void invert (linklist*head) { linklist*p,*q,*r; p=head ? next; q=p-next; while(q!=NULL) { r=q? next; q-next=p; p=q; q=r; } head-next-next=NULL; head ? next二p; } 四、5 void mergelist(Linear_list*La,Linear_list*Lb,Linear_list*Lc) { Lc=(Linear_list*)malloc(sizeof(Linear_list)); 〃产生 C 表的头结点 头插法 Lc-next=NULL; while(La-next!=NULLLb-next!=NULL) //La^ Lb 均非空 if(La-next-data=Lb-next-data) { p=La-next; La-next=La-next-next; insert(Lc,p); } else { p=Lb-next; Lb? next=Lb?next?next; insert(Lc,p); } while(La-next!=NULL) { p=La ? next; La-next=La-next-next; insert(Lc^p); } while(Lb-next!=NULL) { p=Lb-next; Lb? next二Lb ? next?next; insert(Lc,p); } }//O(Length(La)+Length(Lb)) void insert(Linear_list*Lc,Linear_list*p) { p-next=Lc-next; Lc-next=p; }//)( 1) 四、8 void deleteFront(Link*s) { Link*p=s,*q; while(p-next-next!=s)p=p-next; q=p-next; p? next二s; free(q); } 习题4 四、1 int symmetry(linklist*head,stack*s) 〃具有头结点的单链表中存放有一个字符串,每个结点的数据域存放一个字符。 //head为单链表的头指针,s为栈的结构体指针 int n=length(head)/2; Iinklist*p=head-next; datatype x; for(int i=O;in;i++){ push(s9p-data); p=p-next; if(length(head)%2==l) p=p-next; while(p!=NULL){ X=pop(s); if (x==p-data) p=p-next; else return 0; return 1; } 四、3 void delete(Stack*s) { Stack*temp; datatype x; InitS(temp); while(!EmptyS(s)) x=Pop(s); if(x!=m) Push(temp^x); } while( !Empty(temp)) Push(s,Pop(temp)); } 四、4 int correct(char*exp) { InitStack(S); int flag=l; i=(); while( exp[i]!=,\0*flag) if( exp[i]==,(,llexp[i]==l,llexp[i]==,{,) Push( S,exp[i]); 〃遇左括号入栈 if( exp[i]==,)1) if( Pop(S)!=,(,) flag=O; if( exp[i]==*J,) if( Pop(S)!=[) flag=O; if(

文档评论(0)

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

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

1亿VIP精品文档

相关文档