找单链表的中间位置
2015-07-31 22:20
169 查看
给出一个单例表,不知道节点N的值,怎样只遍历一次就可以求出中间节点。
解析:
设立两个指针,比如*p和*q,p每次移动两个位置,即p=p->next->next,q每次移动一个位置,
即q=q->next;
当p到达最后一个节点时,q就是中间节点了。
void serchmid(node *head, node *mid)
{
node *temp = head;
while (head->next->next != NULL)
{
head = head->next->next;
temp = temp->next;
}
mid = temp;
}
相关文章推荐
- python 对EXCEL的读写操作
- ubuntu下vagrant up经常出现Failed to upload a file to the guest VM via SCP due to a permissions error.最终解决
- 把握linux内核设计思想(九):进程调度
- android的Spinner控件的自定义样式设置以及ArrayAdapter的使用
- Windows命令行停止、启用、禁用服务
- div+css position定位浅析
- 读《追随智慧》(二)
- activemq入门-安装
- 运算符的优先级
- 感知机学习算法 python实现
- HDU 2084
- 运算符
- hdu1177("Accepted today?")
- 分享组2015.7.31
- 运算符
- 我是菜鸟:GC和内存分配策略
- iOS学习(如何添加背景音乐,以及音效)
- 杭电acm阶段之理工大版
- 双击eclipse后没反应
- 单片机延时C语言程序