2024年微软的道数据结构算法面试题.doc_第1页
第1页 / 共85页
2024年微软的道数据结构算法面试题.doc_第2页
第2页 / 共85页


点击查看更多>>
资源描述
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""> <!-- saved from url=(0062)> <HTML xmlns=""><HEAD><TITLE>微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园</TITLE> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <META content=面试Interview,微软的22道数据结构算法面试题,含答案 name=keywords><LINK href="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/common.css" type=text/css rel=stylesheet><LINK id=MainCss href="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/style.css" type=text/css rel=stylesheet><LINK href="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/common2.css" type=text/css rel=stylesheet><LINK href="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/shCore.css" type=text/css rel=stylesheet><LINK href="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/shThemeDefault.css" type=text/css rel=stylesheet><LINK title=RSS href="" type=application/rss+xml rel=alternate><LINK title=RSD href="" type=application/rsd+xml rel=EditURI> <SCRIPT src="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/jquery.js" type=text/javascript></SCRIPT> <SCRIPT src="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/common.js" type=text/javascript></SCRIPT> <SCRIPT src="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/jquery.json-2.2.min.js" type=text/javascript></SCRIPT> <META content="MSHTML 6.00.2900.5897" name=GENERATOR></HEAD> <BODY> <FORM id=Form1 name=Form1 action=1393081.html method=post> <DIV><INPUT id="&#13;&#10;__VIEWSTATE" type=hidden name=__VIEWSTATE> </DIV><!--done--> <DIV id=home> <DIV id=header> <DIV id=blogTitle><!--done--> <DIV class=title><A class=headermaintitle id=Header1_HeaderTitle href="">Alex iPhone 之旅</A></DIV> <DIV class=subtitle>动手,分享,交流</DIV></DIV><!--end: blogTitle 博客的标题和副标题 --> <DIV id=navigator><!--done--> <UL id=navList> <LI><A class=menu id=MyLinks1_HomeLink href="">博客园</A> </LI> <LI><A class=menu id=MyLinks1_MyHomeLink href="">首页</A> </LI> <LI><A href="">新闻</A> </LI> <LI><A class=menu id=MyLinks1_NewPostLink href="">新随笔</A> </LI> <LI><A class=menu id=MyLinks1_ContactLink accessKey=9 href="">联系</A> </LI> <LI><A class=menu id=MyLinks1_Admin href="">管理</A> </LI> <LI><A class=menu id=MyLinks1_Syndication href="">订阅</A> <A class=aHeaderXML id=MyLinks1_XMLLink href=""><IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt=订阅 src="微软的22道数据结构算法面试题(含答案) - Alex iPhone 之旅 - 博客园.files/rss.gif"></A> </LI></UL> <DIV class=blogStats><!--done-->随笔-156&nbsp; 文章-1&nbsp; 评论-358&nbsp; </DIV><!--end: blogStats --></DIV><!--end: navigator 博客导航栏 --></DIV><!--end: header 头部 --> <DIV id=main> <DIV id=mainContent> <DIV class=forFlow><!--done--> <DIV id=topics> <DIV class=post> <H1 class=postTitle><A class=postTitle2 id=ctl04_TitleUrl href="">微软的22道数据结构算法面试题(含答案)</A> </H1> <DIV class=clear></DIV> <DIV class=postBody> <P><BR><STRONG>&nbsp; 1、反转一个链表。循环算法。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; 1 &nbsp; &nbsp; List &nbsp; reverse(List &nbsp; l) &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; if(!l) &nbsp; return &nbsp; l; &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; list &nbsp; cur &nbsp; = &nbsp; l.next; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; &nbsp; list &nbsp; pre &nbsp; = &nbsp; l; &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; &nbsp; list &nbsp; tmp; &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; pre.next &nbsp; = &nbsp; null; &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; while &nbsp; ( &nbsp; cur &nbsp; ) &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; tmp &nbsp; = &nbsp; cur; &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; cur &nbsp; = &nbsp; cur.next; &nbsp; <BR>&nbsp; 10 &nbsp; &nbsp; &nbsp; &nbsp; tmp.next &nbsp; = &nbsp; pre &nbsp; <BR>&nbsp; 11 &nbsp; &nbsp; &nbsp; &nbsp; pre &nbsp; = &nbsp; tmp; &nbsp; <BR>&nbsp; 12 &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 13 &nbsp; &nbsp; return &nbsp; tmp; &nbsp; <BR>&nbsp; 14 &nbsp; } &nbsp; <BR>&nbsp; &nbsp; <BR><STRONG>&nbsp; 2、反转一个链表。递归算法。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; 1 &nbsp; &nbsp; List &nbsp; resverse(list &nbsp; l) &nbsp; { &nbsp; <BR>&nbsp; 2 &nbsp; &nbsp; if(!l &nbsp; || &nbsp; !l.next) &nbsp; return &nbsp; l; &nbsp; <BR>&nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <BR>&nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; List &nbsp; n &nbsp; = &nbsp; reverse(l.next); &nbsp; <BR>&nbsp; 5 &nbsp; &nbsp; &nbsp; &nbsp; l.next.next &nbsp; = &nbsp; l; &nbsp; <BR>&nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; l.next=null; &nbsp; <BR>&nbsp; 7 &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 8 &nbsp; &nbsp; return &nbsp; n; &nbsp; <BR>&nbsp; 9 &nbsp; } &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; <BR><STRONG>&nbsp; 3、广度优先遍历二叉树。</STRONG> &nbsp; <BR>&nbsp; &nbsp; 1 &nbsp; &nbsp; void &nbsp; BST(Tree &nbsp; t) &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; Queue &nbsp; q &nbsp; = &nbsp; new &nbsp; Queue(); &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; q.enque(t); &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; &nbsp; Tree &nbsp; t &nbsp; = &nbsp; q.deque(); &nbsp; &nbsp; &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; &nbsp; while(t) &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(t.value); &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; &nbsp; &nbsp; q.enque(t.left); &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; q.enque(t.right); &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; t &nbsp; = &nbsp; q.deque(); &nbsp; <BR>&nbsp; 10 &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 11 &nbsp; } &nbsp; <BR>&nbsp; ---------------------- &nbsp; <BR>&nbsp; &nbsp; 1class &nbsp; Node &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; Tree &nbsp; t; &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; Node &nbsp; next; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; } &nbsp; <BR>&nbsp; &nbsp; 5class &nbsp; Queue &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; Node &nbsp; head; &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; Node &nbsp; tail; &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; public &nbsp; void &nbsp; enque(Tree &nbsp; t){ &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; Node &nbsp; n &nbsp; = &nbsp; new &nbsp; Node(); &nbsp; <BR>&nbsp; 10 &nbsp; &nbsp; &nbsp; &nbsp; n.t &nbsp; = &nbsp; t; &nbsp; <BR>&nbsp; 11 &nbsp; &nbsp; &nbsp; &nbsp; if(!tail){ &nbsp; <BR>&nbsp; 12 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tail &nbsp; = &nbsp; head &nbsp; = &nbsp; n; &nbsp; <BR>&nbsp; 13 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; else &nbsp; { &nbsp; <BR>&nbsp; 14 &nbsp; &nbsp; &nbsp; &nbsp; tail.next &nbsp; = &nbsp; n; &nbsp; <BR>&nbsp; 15 &nbsp; &nbsp; &nbsp; &nbsp; tail &nbsp; = &nbsp; n; &nbsp; <BR>&nbsp; 16 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 17 &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 18 &nbsp; &nbsp; public &nbsp; Tree &nbsp; deque() &nbsp; { &nbsp; <BR>&nbsp; 19 &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp; (!head) &nbsp; { &nbsp; <BR>&nbsp; 20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return &nbsp; null; &nbsp; <BR>&nbsp; 21 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; else &nbsp; { &nbsp; <BR>&nbsp; 22 &nbsp; &nbsp; &nbsp; &nbsp; Node &nbsp; n &nbsp; = &nbsp; head; &nbsp; <BR>&nbsp; 23 &nbsp; &nbsp; &nbsp; &nbsp; head &nbsp; = &nbsp; head.next; &nbsp; <BR>&nbsp; 24 &nbsp; &nbsp; &nbsp; return &nbsp; n.t; &nbsp; <BR>&nbsp; 25 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 26}&nbsp;&nbsp; </P> <P><STRONG>4、输出一个字符串所有排列。注意有重复字符。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; 1char[] &nbsp; p; &nbsp; <BR>&nbsp; &nbsp; 2void &nbsp; perm(char &nbsp; s[], &nbsp; int &nbsp; i, &nbsp; int &nbsp; n){ &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; int &nbsp; j; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; char &nbsp; temp; &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; for(j=0;j&lt;n;++j){ &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; if(j!=0 &nbsp; &amp;&amp; &nbsp; s[j]==s[j-1]); &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; elseif(s[j]!='@'){ &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; p[i]=s[j]; &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; s[j]='@'; &nbsp; <BR>&nbsp; 10 &nbsp; &nbsp; &nbsp; if(i==n-1){ &nbsp; <BR>&nbsp; 11 &nbsp; &nbsp; &nbsp; &nbsp; p[n]='\0'; &nbsp; <BR>&nbsp; 12 &nbsp; &nbsp; &nbsp; &nbsp; printf("%s", &nbsp; p); &nbsp; <BR>&nbsp; 13 &nbsp; &nbsp; &nbsp; }else{ &nbsp; <BR>&nbsp; 14 &nbsp; &nbsp; &nbsp; &nbsp; perm(s,i+1,n); &nbsp; <BR>&nbsp; 15 &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 16 &nbsp; &nbsp; &nbsp; s[j]=p[i]; &nbsp; <BR>&nbsp; 17 &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 18 &nbsp; } &nbsp; <BR>&nbsp; 19} &nbsp; <BR>&nbsp; -------------------------- &nbsp; <BR>&nbsp; 1void &nbsp; main() &nbsp; { &nbsp; <BR>&nbsp; 2 &nbsp; &nbsp; char &nbsp; s[N]; &nbsp; <BR>&nbsp; 3 &nbsp; &nbsp; sort(s); &nbsp; <BR>&nbsp; 4 &nbsp; &nbsp; perm(s,0,strlen(s)); &nbsp; <BR>&nbsp; 5} &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; <BR><STRONG>&nbsp; 5、输入一个字符串,输出长型整数。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; 1 &nbsp; long &nbsp; atol(char &nbsp; *str){ &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; char &nbsp; *p &nbsp; = &nbsp; str; &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; long &nbsp; l=1;m=0; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp; (*p=='-') &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; l=-1; &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ++p; &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; while(isDigit(*p)){ &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; m &nbsp; = &nbsp; m*10 &nbsp; + &nbsp; p; &nbsp; <BR>&nbsp; 10 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ++p; &nbsp; <BR>&nbsp; 11 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 12 &nbsp; &nbsp; &nbsp; &nbsp; if(!p) &nbsp; return &nbsp; m*l; &nbsp; <BR>&nbsp; 13 &nbsp; &nbsp; &nbsp; &nbsp; else &nbsp; return &nbsp; error; &nbsp; <BR>&nbsp; 14} &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; <BR><STRONG>&nbsp; 6、判断一个链表是否有循环。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; 1 &nbsp; &nbsp; &nbsp; int &nbsp; &nbsp; isLoop(List &nbsp; l) &nbsp; &nbsp; { &nbsp; <BR>&nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp; ( &nbsp; ! &nbsp; l) &nbsp; &nbsp; return &nbsp; &nbsp; &nbsp; - &nbsp; 1 &nbsp; ; &nbsp; <BR>&nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List &nbsp; s &nbsp; &nbsp; = &nbsp; &nbsp; l.next; &nbsp; <BR>&nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while &nbsp; (s &nbsp; &nbsp; &amp;&amp; &nbsp; &nbsp; s &nbsp; != &nbsp; l) &nbsp; &nbsp; &nbsp; { &nbsp; <BR>&nbsp; 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s &nbsp; &nbsp; = &nbsp; &nbsp; s.next; &nbsp; <BR>&nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; <BR>&nbsp; 7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp; &nbsp; ( &nbsp; ! &nbsp; s) &nbsp; &nbsp; return &nbsp; &nbsp; &nbsp; - &nbsp; 1 &nbsp; ; &nbsp; <BR>&nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else &nbsp; &nbsp; reutrn &nbsp; &nbsp; 1 &nbsp; ; &nbsp; <BR>&nbsp; 9 &nbsp; } &nbsp; &nbsp; <BR>&nbsp; ----------- &nbsp; <BR>&nbsp; &nbsp; 1int &nbsp; isLoop(List &nbsp; l){ &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; if(!l) &nbsp; return &nbsp; 0; &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; p=l.next; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; wihle(p!=l&amp;&amp;p!=null) &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; l.next=l; &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; l=p;p=p.next; &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; if(p=l) &nbsp; return &nbsp; 1; &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; return &nbsp; 0; &nbsp; <BR>&nbsp; 10} &nbsp; <BR>&nbsp; 实际上,在我的面试过程中,还问到了不破坏结构的其他算法。 &nbsp; <BR>&nbsp; 我的答案是从链表头开始遍历,假如节点next指针指向自身,则循环存在;否则将next指针指向自身,遍历下一个节点。直至next指针为空,此时链表无循环。 &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; <BR><STRONG>&nbsp; 7、反转一个字符串。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; 1 &nbsp; &nbsp; &nbsp; void &nbsp; &nbsp; reverse( &nbsp; char &nbsp; &nbsp; &nbsp; * &nbsp; str) &nbsp; &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; char &nbsp; &nbsp; tmp; &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; &nbsp; len; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; len &nbsp; &nbsp; = &nbsp; &nbsp; strlen(str); &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for &nbsp; ( &nbsp; int &nbsp; &nbsp; i &nbsp; = &nbsp; 0 &nbsp; ;i &nbsp; &lt; &nbsp; len &nbsp; / &nbsp; 2 &nbsp; ; &nbsp; ++ &nbsp; i) &nbsp; &nbsp; { &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tmp &nbsp; = &nbsp; char &nbsp; [i]; &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; str[i] &nbsp; &nbsp; = &nbsp; &nbsp; str[len &nbsp; - &nbsp; i &nbsp; - &nbsp; 1 &nbsp; ]; &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; str[len &nbsp; - &nbsp; i &nbsp; - &nbsp; 1 &nbsp; ] &nbsp; = &nbsp; tmp; &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; <BR>&nbsp; 10 &nbsp; } &nbsp; &nbsp; <BR>&nbsp; &nbsp; <BR><STRONG>&nbsp; 8、实现strstr函数。</STRONG> &nbsp; <BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; 1int &nbsp; strstr(char[] &nbsp; str, &nbsp; char[] &nbsp; par){ &nbsp; <BR>&nbsp; &nbsp; 2 &nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; i=0; &nbsp; <BR>&nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; j=0; &nbsp; <BR>&nbsp; &nbsp; 4 &nbsp; &nbsp; &nbsp; &nbsp; while(str[i] &nbsp; &amp;&amp; &nbsp; str[j]){ &nbsp; <BR>&nbsp; &nbsp; 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(str[i]==par[j]){ &nbsp; <BR>&nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ++i; &nbsp; <BR>&nbsp; &nbsp; 7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ++j; &nbsp; <BR>&nbsp; &nbsp; 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{ &nbsp; <BR>&nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i=i-j+1; &nbsp; <BR>&nbsp; 10 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j=0; &nbsp; <BR>&nbsp; 11 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 12 &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; <BR>&nbsp; 13 &nbsp; &nbsp; &nbsp; &nbsp; if(!str[j]) &nbsp; return &nbsp; i-strlen(par); &nbsp; <BR>&nbsp; 14 &nbsp; &nbsp; &nbsp; &nbsp; else &nbsp; return &nbsp; -1; &nbsp; <BR>&nbsp; 15} </P> <P><STRONG>9、实现strcmp函数。</S
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
  • 集线器项目创业计划书.docx集线器项目创业计划书.docx
  • 2024年专升本病理.doc2024年专升本病理.doc
  • 电动车肇事逃逸处理最佳方案.docx电动车肇事逃逸处理最佳方案.docx
  • 学校历史市公开课获奖课件省名师优质课赛课一等奖课件.ppt学校历史市公开课获奖课件省名师优质课赛课一等奖课件.ppt
  • 摇臂项目创业计划书.docx摇臂项目创业计划书.docx
  • 反渗透设备项目可行性分析报告.docx反渗透设备项目可行性分析报告.docx
  • 安全设备项目可行性分析报告.docx安全设备项目可行性分析报告.docx
  • 四种命题PPT市名师优质课比赛一等奖市公开课获奖课件.pptx四种命题PPT市名师优质课比赛一等奖市公开课获奖课件.pptx
  • 2024年枣庄事业单位题库信息分享.doc2024年枣庄事业单位题库信息分享.doc
  • 姿态敏感器项目可行性分析报告.docx姿态敏感器项目可行性分析报告.docx

  • 当前位置:首页 > 包罗万象 > 大杂烩

    移动网页_全站_页脚广告1

    关于我们      便捷服务       自信AI       AI导航        抽奖活动

    ©2010-2026 宁波自信网络信息技术有限公司  版权所有

    客服电话:0574-28810668  投诉电话:18658249818

    gongan.png浙公网安备33021202000488号   

    icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

    关注我们 :微信公众号    抖音    微博    LOFTER 

    客服