查找单链表中间位置结点(进阶算法) 数据结构 C语言版
查找单链表的中间位置1.实现方法2.代码实现3.单链表链式存储基本操作1.实现方法利用两个指针进行移动,一个为快指针,每次移动向前移动两位,一个为慢指针,每次向前移动一位当快指针移动到链表的最后时,慢指针刚好到达中间位置当链表中有n个元素时 返回第n/2+1个元素,即n为奇数时 返回中间元素 n为偶数时 返回中间靠后一个元素结点2.代码实现/*找出链表的中间位置*/LinkList GetMide
·
查找单链表的中间位置
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——————
作者注:
记录学习,分享经验。
有兴趣可以关注博主,以后还会持续更新内容哦~

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)