1. 1 不可撤销
  2. 2 小年兽 程嘉敏
  3. 3 手放开 李圣杰
  4. 4 迷人的危险3(翻自 dance flow) FAFA
  5. 5 山楂树之恋 程佳佳
  6. 6 summertime cinnamons / evening cinema
  7. 7 不谓侠(Cover 萧忆情Alex) CRITTY
  8. 8 神武醉相思(翻自 优我女团) 双笙
  9. 9 空山新雨后 音阙诗听 / 锦零
  10. 10 Wonderful U (Demo Version) AGA
  11. 11 广寒宫 丸子呦
  12. 12 陪我看日出 回音哥
  13. 13 春夏秋冬的你 王宇良
  14. 14 世界が终わるまでは… WANDS
  15. 15 多想在平庸的生活拥抱你 隔壁老樊
  16. 16 千禧 徐秉龙
  17. 17 我的一个道姑朋友 双笙
  18. 18 大鱼  (Cover 周深) 双笙
  19. 19 霜雪千年(Cover 洛天依 / 乐正绫) 双笙 / 封茗囧菌
  20. 20 云烟成雨(翻自 房东的猫) 周玥
  21. 21 情深深雨濛濛 杨胖雨
  22. 22 Five Hundred Miles Justin Timberlake / Carey Mulligan / Stark Sands
  23. 23 斑马斑马 房东的猫
  24. 24 See You Again Wiz Khalifa / Charlie Puth
  25. 25 Faded Alan Walker / Iselin Solheim
  26. 26 Natural J.Fla
  27. 27 New Soul Vox Angeli
  28. 28 ハレハレヤ(朗朗晴天)(翻自 v flower) 猫瑾
  29. 29 像鱼 王贰浪
  30. 30 Bye Bye Bye Lovestoned
  31. 31 Blame You 眠 / Lopu$
  32. 32 Believer J.Fla
  33. 33 书信 戴羽彤
  34. 34 柴 鱼 の c a l l i n g【已售】 幸子小姐拜托了
  35. 35 夜空中最亮的星(翻自 逃跑计划) 戴羽彤
  36. 36 慢慢喜欢你 LIve版(翻自 莫文蔚) 戴羽彤
  37. 37 病变(翻自 cubi) 戴羽彤
  38. 38 那女孩对我说 (完整版) Uu
  39. 39 绿色 陈雪凝
  40. 40 月牙湾 LIve版(翻自 F.I.R.) 戴羽彤
夜空中最亮的星(翻自 逃跑计划) - 戴羽彤
00:00 / 04:10

夜空中最亮的星 能否听清

那仰望的人 心底的孤独和叹息

夜空中最亮的星 能否记起

那曾与我同行 消失在风里的身影

我祈祷拥有一颗透明的心灵

和会流泪的眼睛

给我再去相信的勇气

越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请指引我靠近你

夜空中最亮的星 是否知道

那曾与我同行的身影 如今在哪里

夜空中最亮的星 是否在意

是等太阳先升起 还是意外先来临

我宁愿所有痛苦都留在心底

也不愿忘记你的眼睛

哦 给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行 哒~

我祈祷拥有一颗透明的心灵

和会流泪的眼睛 哦

给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行

数组、ArrayList和链表的那些事

数组、ArrayList和链表的那些事

数组

数组存储特点

  1. 必须指定初始化大小,方能分配存储空间
  2. 数据连续存储
  3. 获取具体的元素(根据索引下标返回数据)时效率比较高
  4. 插入或删除元素时性能差

数组删除元素

这里我们以删除索引为5的元素为例:

当删除索引为5的元素时,其后所有的元素都需要向前移位;如果删除的是索引为0的元素,那整个数组要移位的元素个数是N-1,从性能上讲就是O(N);当然如果删除数组尾部的元素,那数组的元素是不需要移位的,从性能上讲是O(1)

数组插入元素

这里我们以在索引5和6之间插入元素为例:

插入新的元素和删除元素类似,当在索引为6处插入新的元素时,其后所有的元素都需要向后移位(忽略扩容);
如果在索引为0处插入新的元素,那整个数组要移位的元素个数是N,从性能上讲就是O(N);当然如果在数组的尾
部插入新的元素,那数组的元素是不需要移位的,从性能上讲就是O(1)

ArrayList底层就是基于数组实现的,所以以上的各种情况同样适用于ArrayList

链表

简单来讲,链表的诞生就是为了解决连续存储的诸多缺点,所以链表有以下特点:

  1. 由一系列不连续的节点组成,数据节点在内存中不必相连
  2. 插入新元素或删除元素,原有元素不需要移位,避免了插入和删除移位带来的线性开销

单链表

链表分为单链表和双链表,我们先来看下单链表:

这时候如果需要删除元素,只需要将该节点的链接关系重新设置即可,并不需要移动元素:

插入新的元素和删除类型,只需要改变链接关系即可:

接下来我们看下双链表

双链表

双链表是相对于单链表来说的,在单链表中,当前元素只和下一个元素链接,所以单链表中只能获取next(下一个)节点,并不能获取previous(上一个)节点,但在双链表是都可以获取的。

删除的情况和单链表类似:

插入新元素也和单链表类似

总结

总结来说,对于基于数组实现的容器,因为数据存储是连续,所以可以在获取具体元素时,性能比基于链表实现的容器要好;但是在删除和插入新元素方面,基于链表实现的容器,表现更好

posted @ 2021-03-06 15:56  云中志  阅读(170)  评论(0编辑  收藏  举报