打乱式排序的Java版实现
2024-10-15 19:34:45
项目中涉及到对大批量的数据进行打乱式排序,大概原理如下:
输入源数据:1,1,2,3,3,3,4,4
输出结果: 1,2,3,4,1,3,4,3
实现代码如下,采用递归的思想:
static <T> List<T> sort(List<T> numbers){
List<T> rights = Lists.newArrayList();
if(numbers.size == 0) {
return rights;
}else if(numbers.size() == 1){
rights.addAll(numbers);
numbers.clear();
return rights;
} List<T> lefts = Lists.newArrayList();
for(T num : numbers){
if(!rights.contains(num)){
rights.add(num);
}else{
lefts.add(num);
}
}
if(lefts.size > 0){
rights.addAll(sort(lefts));
lefts.clear();
} return rights;
}
最新文章
- spring.net 配置文件需要注意换行问题
- 浅谈-js递归函数
- Noip2000 T3 单词接龙
- SQLServer 2008以上误操作数据库恢复方法——日志尾部备份(转)
- Linux Shell编程(11)——退出和退出状态
- yii phpexcel <;转>;
- $(document).ready()与window.onload的区别(转发)
- QT实现,通过URL下载文件的接口实现
- SqlServer 添加列并赋值
- RHCSA
- bootstrap----几个插件网址
- 记录C#错误日志工具
- ucenter通信实现同步登录、同步退出(详细)
- 【数据结构】【平衡树】浅析树堆Treap
- js数组去重 javascript版
- 关于ArrayList的一些源码分析
- 笔记-python-语法-super
- vmware设置静态ip(复制)
- jquery/js/a标签实现当前页面跳转的两种方法
- asp.net+access实现DropDownList与RadDatePicker同步筛选