跪求:一个线性表(a1,a2,...,an)(n>3)采用带头结点的单链表L存储,设计一个高效算法求中间位置的元素(即序号为【n/2】的元素)

qq_40392923 2017-09-25 10:11:06
一个线性表(a1,a2,...,an)(n>3)采用带头结点的单链表L存储,设计一个高效算法求中间位置的元素(即序号为【n/2】的元素)
...全文
3385 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jason_Yong 2020-09-17
  • 打赏
  • 举报
回复 2

ElemType Midnode(LinkNode*L)
{  LinkNode*p=L->next,*q=p;
  while (p->next!=NULL && p->next->next!=NULL)
  {  p=p->next->next;
     q=q->next;
  }
  return q->data;
ooolinux 2017-09-26
  • 打赏
  • 举报
回复
两个指针一个pmid、一个pend,每次pmid走一步,pend走两步,直到pend到了末尾,pmid就是中间位置。 似乎也不高效,最好在头结点中存储单链表的长度。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧