如何向一个已经排好序的ArrarList快速插入新元素并且排序

李海华 2020-01-15 08:32:00
如方便请写下源码,网上大多是排序的例子,不知新插入时如何快速排序,谢谢
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyiz 2020-01-15
  • 打赏
  • 举报
回复
引用 3 楼 李海华 的回复:
嗯,看来插入时找正确的位置就是最优的了


是的,这样只有在插入时,会做一遍内存拷贝操作
不像重新排序可能会出现多次内存拷贝或者交换元素的值之类的操作
李海华 2020-01-15
  • 打赏
  • 举报
回复
引用 2 楼 sunyiz的回复:
你这个命题本身有些问题
ArrarList 本质是组数
既然是数组,本身就不可能“快速”插入
数组的优势是访问其具体元素时非常快
但是增/删时必然是要进行内存拷贝之类的相对“耗时”的操作

要真正的“快速”插入,应该使用链式结构
至于要插入后依然是有序的,
要么重排
要么在插入时就找到其应当插入的正确位置(其实本质上也是做了一遍类似于排序的算法,不过时间性上会略快一些)
嗯,看来插入时找正确的位置就是最优的了
sunyiz 2020-01-15
  • 打赏
  • 举报
回复
你这个命题本身有些问题
ArrarList 本质是组数
既然是数组,本身就不可能“快速”插入
数组的优势是访问其具体元素时非常快
但是增/删时必然是要进行内存拷贝之类的相对“耗时”的操作

要真正的“快速”插入,应该使用链式结构
至于要插入后依然是有序的,
要么重排
要么在插入时就找到其应当插入的正确位置(其实本质上也是做了一遍类似于排序的算法,不过时间性上会略快一些)
李海华 2020-01-15
  • 打赏
  • 举报
回复
肯定是不能重新排了吧?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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