请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

链表的开始为何是addfirst,为何不是addlast()

按照我的理解,在插入数据中是按照addfirst插入的,只是因为事先在设置重写toString的->,只是为了排版好看而已!

如果按照addlast插入是不是也可以呢!

总结,我总觉得刚开始建立链表时,不是应该从最后插入吗(既用addlast)?

老师这样设置,难道是规定的语法就是这样吗?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-01-10 10:40:59

因为对于我们实现的链表,在数据头插入容易:)


我们的链表类里有指向head的头指针,使用O(1)的复杂度就可以直接在链表头插入新节点。但是要想在链表尾插入节点,就需要遍历整个链表到最后的位置,然后再插入新元素,时间复杂度就是O(n)的了:)

1 回复 有任何疑惑可以回复我~
  • 提问者 玉滨123 #1
    好的 谢谢bo哥!理解理解  从链表尾插入   还要for循环找到最后一个!!这样时间复杂度变O(n)。。总是是可以插链尾的,只不过没有链头插入的好!
    回复 有任何疑惑可以回复我~ 2019-01-10 10:48:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信