查找单链表的中间位置
1.实现方法
利用两个指针进行移动,一个为快指针,每次移动向前移动两位,一个为慢指针,每次向前移动一位
当快指针移动到链表的最后时,慢指针刚好到达中间位置
当链表中有n个元素时 返回第n/2+1个元素,即n为奇数时 返回中间元素 n为偶数时 返回中间靠后一个元素结点
2.代码实现
/*
找出链表的中间位置
*/
LinkList GetMidelem(LinkList L){
LinkList ptr1 = L;
LinkList ptr2 = L;
int i = 0; //i用作标志变量
while(ptr1->next){
if(!i){
ptr1 = ptr1->next;
i = 1;
}
else{
ptr1 = ptr1->next;
ptr2 = ptr2->next;
i = 0;
}
}
return ptr2->next;
}
3.单链表链式存储基本操作
——————END-2021-11-03——————
作者注:
记录学习,分享经验。
有兴趣可以关注博主,以后还会持续更新内容哦~