单链表的排序
2017-02-08 10:03
232 查看
编程实现单链表的排序。
答案:
完整代码如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------
编程实现单链表的逆置。[美国某著名分析软件公司2005年面试题]
解析:
单链表模型如下图所示。
进行单链表逆置,首先要让p2的next指向p1,如下图所示。
再由p1指向p2,p2指向p3,如下图所示。
然后重复p2的next指向p1,p1指向p2,p2指向p3。
答案:完整代码如下:
--------------------------------------------------------------------------------------------------------------------------------------------------------
有一个C语言用来删除单链表的头元素的函数,请找出其中的问题并加以纠
正。[中国某著名综合软件公司2005年面试题]
解析:如果先做free(head)之后,就找不到head了,下一句head=head->next就不能正确链
接了。
答案:正确程序如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------
给出一个单链表,不知道节点N的值,怎样只遍历一次就可以求出中间节点,
写出算法。[中国著名通信企业H公司2007年11月面试题]
解析:设立两个指针,比如*p和*q。p每次移动两个位置,即p=p-> next-> next,q每次移
动一个位置,即q=q-> next。
当p到达最后一个节点时,q就是中间节点了。
答案:
算法如下:
答案:
完整代码如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------
编程实现单链表的逆置。[美国某著名分析软件公司2005年面试题]
解析:
单链表模型如下图所示。
进行单链表逆置,首先要让p2的next指向p1,如下图所示。
再由p1指向p2,p2指向p3,如下图所示。
然后重复p2的next指向p1,p1指向p2,p2指向p3。
答案:完整代码如下:
--------------------------------------------------------------------------------------------------------------------------------------------------------
有一个C语言用来删除单链表的头元素的函数,请找出其中的问题并加以纠
正。[中国某著名综合软件公司2005年面试题]
解析:如果先做free(head)之后,就找不到head了,下一句head=head->next就不能正确链
接了。
答案:正确程序如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------
给出一个单链表,不知道节点N的值,怎样只遍历一次就可以求出中间节点,
写出算法。[中国著名通信企业H公司2007年11月面试题]
解析:设立两个指针,比如*p和*q。p每次移动两个位置,即p=p-> next-> next,q每次移
动一个位置,即q=q-> next。
当p到达最后一个节点时,q就是中间节点了。
答案:
算法如下:
相关文章推荐
- C# 6 与 .NET Core 1.0 高级编程 - 37 章 ADO.NET
- spring事务中read-only配置
- Android N 版本迭代/应用内升级 FileUriExposedException问题处理
- 博士这五年-李沐
- 接口测试从零开始系列_mock技术使用
- Android中两个Activity之间数据传递及返回
- glibc的几个有用的处理二进制位的内置函数
- SparkR的R3.3.1源码安装
- Google Analytics与Google Adwords的转换数据差别
- 安卓开发异常之——java.lang.NoClassDefFoundError: com.umeng.analytics.d的问题
- 倾囊相授DDoS防护十二式
- c++ unsigned和int类型转换及运算
- 【译】人们购买的是更好的自己
- Web前端开发资源整理
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- SpringMVC学习系列(8) 之 实现注解式权限验证
- libcurl 介绍
- 微信自动抢红包外挂核心源码分析
- eclipse找项目编译后的文件
- 简单介绍WebView的使用