栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

查找单链表中间位置结点(进阶算法) 数据结构 C语言版

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

查找单链表中间位置结点(进阶算法) 数据结构 C语言版

查找单链表的中间位置
      • 1.实现方法
      • 2.代码实现
      • 3.单链表链式存储基本操作

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——————


作者注:

记录学习,分享经验。
有兴趣可以关注博主,以后还会持续更新内容哦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430005.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号