数据结构,链表中结点的插入问题

yangfei9255 2012-03-06 07:33:09
对带头结点的单链表L,在指针p所指的结点上插入数据元素为e的新结点(设由指针s指示):前插O(n),后插O(1),分别写出插入算法,思考:前插O(n),如何改进至O(1)?重点是思考题,请各位大神指点~~
...全文
254 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Peng4Wang1 2012-03-22
  • 打赏
  • 举报
回复
先插入,再倒顺序
Gookelcs 2012-03-22
  • 打赏
  • 举报
回复
我是应届毕业生,这是一份关于云计算的调查问卷,请您在百忙之中抽出点时间帮忙填一下,谢谢!

(管理请不要封我号,真的是毕业论文所需,谢谢啦!)

我是新手,不能发链接,请Google或者百度搜索“影响云计算在国内中小企业商业化的调查问卷”
小班得瑞 2012-03-20
  • 打赏
  • 举报
回复
这个倒是很有意思,我也没想过这个问题,呵呵
seadplus 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sheng_xc 的回复:]
引用 1 楼 thefirstz 的回复:

easy,前插也当做后插来做,然后交换新插入元素和当前元素的值

我觉得应该是改成双向链表吧?如果是单向的话怎么交换两个节点?
[/Quote]
可以交换。
老鼠期待爱 2012-03-19
  • 打赏
  • 举报
回复
很好,很少想到直接换数据的,呵呵
wangxl430 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wizardoz 的回复:]
想不通,为什么前插会是O(n)
[/Quote]

因为单链表在p之前插入的话,必须定位到p-1,进行后插,要从head开始。。。。
wangxl430 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sheng_xc 的回复:]
引用 1 楼 thefirstz 的回复:

easy,前插也当做后插来做,然后交换新插入元素和当前元素的值

我觉得应该是改成双向链表吧?如果是单向的话怎么交换两个节点?
[/Quote]

有2个指针分别指向新节点(s)和插入位置(p)。所以可以交换。。。
klel 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thefirstz 的回复:]

easy,前插也当做后插来做,然后交换新插入元素和当前元素的值
[/Quote]
我觉得应该是改成双向链表吧?如果是单向的话怎么交换两个节点?
WizardOz 2012-03-17
  • 打赏
  • 举报
回复
想不通,为什么前插会是O(n)
HeFaQ123 2012-03-13
  • 打赏
  • 举报
回复
其实你要是真的懂了,前插和后插是一个意思的!!!
lxy15329 2012-03-11
  • 打赏
  • 举报
回复
这个问题确实是就像是难进急转弯
liuyuansuccess 2012-03-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thefirstz 的回复:]

easy,前插也当做后插来做,然后交换新插入元素和当前元素的值
[/Quote]
前辈的话,给我开了新思路。
受教了!
yangfei9255 2012-03-07
  • 打赏
  • 举报
回复
谢谢,谢谢。。。。看来我的想法太拘谨了!!~~谢谢,谢谢
昵称很不好取 2012-03-06
  • 打赏
  • 举报
回复
easy,前插也当做后插来做,然后交换新插入元素和当前元素的值

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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