- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
100条经典C语言笔试题目 85、华为面试题:怎么判断链表中是否有环? 【参考答案】答:用两个指针来遍历这个单向链表,第一个指针p1,每次走一步;第二个指针p2,每次走两步;? 当p2 指针追上 p1的时候,就表明链表当中有环路了。 int testLinkRing(Link *head) {?? Link *t1=head,*t2=head;?? while( t1-next t2-next)? ? {? ?? ? t1 = t1-next;? ?? ?? ?? ? if (NULL == (t2 = t2-next-next))? ?? ?? ?? ?? ? return 0;? ?//无环? ?? ?? ?? ? if (t1 == t2)? ?? ?? ?? ?? ? return 1;? ?? ?}?? return 0; } 100条经典C语言笔试题目 86、有一浮点型数组A,用C语言写一函数实现对浮点数组A进行降序排序,并输出结果,要求要以数组A作为函数的入口.(建议用冒泡排序法) 【参考答案】 void ? BubbleSort(double ? arr[], ? int ? n) ? { int ? i,j; ? ? ? ? ? ? ? int ? exchange ? = ? 1; ? //交换标志 ? ? ? ? ? ? ? for(i=1;in;i++) { ? //最多做n-1趟排序 ? ? ? ? ? ? ? ? ? exchange=0; ? //本趟排序开始前,交换标志应为假 ? ? ? ? ? ? ? ? ? for(j=n-1;j=i;j--) ? //对当前无序区R[i..n]自下向上扫描 ? ? ? ? ? ? ? ? ? ? if(arr[j+1] ? ? arr[j]) {//交换记录 ? ? ? ? ? ? ? ? ? ? arr[0]=arr[j+1]; ? //R[0]不是哨兵,仅做暂存单元 ? ? ? ? ? ? ? ? ? ? ? ? arr[j+1]=arr[j]; ? ? ? ? ? ? ? ? ? ? ? ? arr[j]=arr[0]; ? ? ? ? ? ? ? ? ? ? ? ? exchange=1; ? //发生了交换,故将交换标志置为真 ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? if(!exchange) ? //本趟排序未发生交换,提前终止算法 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? } ? //endfor(外循环) ? ? } 100条经典C语言笔试题目 87、实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数。 【参考答案】 //删除操作Status?ListDelete_DuL(DuLinkList?L,int?i,ElemType?e){?? if(!(p=GetElemP_DuL(L,i)))?return?ERROR;? ?e=p-data;? ?p-prior-next=p-next;?? p-next-prior=p-pror;?? free(p);?? return?OK;} //插入操作Status?ListInsert_DuL(DuLinkList?L,int?i,ElemType?e){?? if(!(p=GetElemP_DuL(L,i)))??? ?return?ERROR;?? if(!(s=(DuLinkList)malloc(sizeof(DuLNode))))???? ?return?ERROR; ?s-data=e;? ?s-prior=p;?? p- next - prior =s; p-next=s;?? s-next=p-next-next;???? return?OK;} 100条经典C语言笔试题目 88、把一个链表反向 。 【参考答案】从第一个元素开始,ps指向他,将他(ps)指向头节点(ps-next = head),将ps设为头节点(head = ps;)操作下一个元素(ps = pe-next;)等于是依次将每个元素翻到原头节点前面。 void reverse(test* head){ test* pe = head; test* ps
您可能关注的文档
- 《中西服装发展史》第九章-古代服装.ppt
- 《中西服装发展史》第五章-封建社会前期服装.ppt
- 《紫藤萝瀑布》修改完美版课件教学.ppt
- 【绩效制度】富士康高级培训课件课程:绩效管理(精讲).ppt
- 2019年高考一轮复习总结---大规模的海水运动.pptx
- Bch3主机遥控逻辑与控制回路.ppt
- c++-程序设计数组.ppt
- ECMO-器材设备(李景文).ppt
- FMEA潜在失效模式和分析.pptx
- 第四章电路课件(第五版-邱关源-高等教育出版社).ppt
- 《2025年新能源重卡氢能技术商业化竞争格局分析》.docx
- 2025-2026学年小学音乐接力版2024一年级下册-接力版(2024)教学设计合集.docx
- 企业智能资产管理与优化方案.doc
- 2024年江苏常熟农村商业银行股份有限公司海虞支行秋季校园招考笔试试卷带答案详解.docx
- 2025及以后5年中国洗板机行业市场分析及投资可行性研究报告.docx
- 《2025年老年人智能设备使用培训课程开发分析报告》.docx
- 2024年江苏常熟农村商业银行股份有限公司沙家浜支行秋季校园招考笔试试卷带答案详解.docx
- 2025年数字孪生在金融科技领域应用前景报告.docx
- 2024年江苏常熟农村商业银行股份有限公司徐市支行秋季校园招考笔试试卷带答案详解.docx
- 2025年城市交通大数据应用价值报告.docx
原创力文档


文档评论(0)