单链表--取第i个元素
链表不是随机存储的结构,他查找数据必须一个一个挨着寻找,
算法描述:从第一个结点(L->next)开始扫描,用P指向当前扫描到的结点,p的初值: p = L->next; J作计数器,每扫描一个结点计数器加一;当 j==i 时就是我们要找的结点
1 Status GetElem(LinkList L,int i;ElemType &e){ //获取从链表L中获取元素,获取的是第i个,返回值是e 2 p=L->next; //初始化p指向首元结点,同时定义计数器为0; 3 j=1; 4 while(p&&j<i){ //p存在且计数器的值小于所含元素的值时进行循环,若等于则不能进行循环 5 p=p->next; 存在值,则将指针后移,同时计数器加一 6 j++; 7 } 8 if(!p||j>i) 如果P不存在,或者计数器的值比要取得值大则报错,否则输出该位置的元素 9 return error; 10 e = p->next; 11 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战