java - 如何对 LinkedList 的字符串数据进行排序
问题描述
如何订购包含字符串类型的 LinkedList {a,c,d,b,b,d,c,a,c}
。订购后的输出应该是这样的{c,c,c,a,a,d,d,b,b}
。复杂度也应该是 O(1*n)。
解决方案
我假设组/名称/项目总是四个并且总是c
,a
和. 在这种假设下很容易:创建四个列表,一个用于项目,一个用于项目,等等。遍历您的链表;对于每个项目,将其附加到相应的新列表中。您可以在琴弦上使用。最后以正确的顺序附加四个新列表。d
b
c
a
switch
这将花费 O(n) 时间和 O(n) 空间。
如果出于某种原因(我不知道它可能是什么)您不想创建四个列表,只需保留对排序列表中应插入 、 和 项目c
的a
四个位置的四个引用。不过,这将需要决定指向哪里,只要不是所有四个名字都在列表中。d
b
推荐阅读
- html - 有没有办法强制扬声器和麦克风留在 Dlaolgflow 聊天机器人中?
- javascript - 将函数导出为 const 和类方法之间的区别
- mysql - 如何使用 MySQL 连接表避免重复行?
- php - 在html中使用php变量日期寻求帮助
- cloudkit - 上传数据时如何改善 CloudKit 服务器延迟
- c - 从标准用户以root身份运行程序
- arrays - 为什么不保留空数组和哈希?
- javascript - 将 div 高度更改回动态
- ruby-on-rails - 将图像播种到 has_many_attached 上的活动记录:照片
- r - R:ggplot2 stat_bin2d 图例计数为百分比