首页 > 其他 > 详细

单链表 --- 查找链表中间节点,仅一次遍历

时间:2016-03-28 22:03:47      阅读:229      评论:0      收藏:0      [点我收藏+]

单链表 --- 查找链表中间节点,仅一次遍历

方法:快慢指针法

#include<string.h>
#include<malloc.h>
#include<assert.h>

typedef int DataType;
typedef struct ListNode
{
	struct ListNode *_next;
	DataType _data;
}ListNode;

void PrintList(ListNode *&pHead)

{
	while(pHead)
	{
		printf("%d->",pHead->_data);
		pHead=pHead->_next;
	}
	printf("NULL\n");
}
void FindMid(ListNode *&pHead)  //查找链表中间节点,仅一次遍历
{
	ListNode *slow=pHead;
	ListNode *fast=pHead;
	while (fast&&fast->_next&&fast->_next->_next)
	{
		fast = fast->_next->_next;
		slow = slow->_next;
	}
	printf("链表中间节点:%d\n",slow->_data);
}


本文出自 “花开彼岸” 博客,请务必保留此出处http://zxtong.blog.51cto.com/10697148/1757672

单链表 --- 查找链表中间节点,仅一次遍历

原文:http://zxtong.blog.51cto.com/10697148/1757672

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!