链表排序
来源:互联网 发布:动漫飞机杯推荐 知乎 编辑:程序博客网 时间:2024/05/24 15:36
/**
* 将列表进行排序
*
* @param infoList
*/
public void sortList(List<Info> infoList) {
if (infoList != null && infoList.size() > 0) {
for (int i = 1; i < infoList.size(); i++) {
// 按面积比较
if (infoList.get(i - 1).getArea() < infoList.get(i)
.getArea()) {
Info tempInfo = infoList.get(i);
int j = 0;
for (j = i - 1; j >= 0
&& infoList.get(j).getArea() < tempInfo
.getArea(); j--) {
infoList.set(j + 1, infoList.get(j));
}
infoList.set(j + 1, tempInfo);
} else if (infoList.get(i - 1).getArea() == infoList.get(
i).getArea()) {
// 面积相等,按x比较
Info tempInfo = infoList.get(i);
int j = 0;
for (j = i - 1; j >= 0; j--) {
if (infoList.get(j).getX() > tempInfo.getX()) {
// X升序
infoList.set(j + 1, infoList.get(j));
} else if (infoList.get(j).getX() == tempInfo.getX()) {
// y升序
for (j = i - 1; j >= 0
&& infoList.get(j).getY() > tempInfo
.getY(); j--) {
// y升序
infoList.set(j + 1, infoList.get(j));
}
} else {
break;
}
}
infoList.set(j + 1, tempInfo);
}
}
}
}
- 链表排序 归并排序
- 链表排序--选择排序
- 链表排序--快速排序
- 链表排序--归并排序
- 排序3:插入排序(普通插入排序 + 折半插入排序 + 链表插入排序 + 希尔排序)
- LIST排序, Struct排序, qsort排序, STL::LIST sort排序, 链表排序
- 单向链表排序:快速排序和归并排序
- 单向链表排序-归并排序
- 链表排序,使用插入排序,
- 链表排序-直接插入排序
- 链表的一种排序---冒泡排序
- c 链表排序 - 选择排序
- 链表排序之插入排序
- 插入排序进行链表排序
- 优化冒泡排序 & 链表选择排序
- 链表排序之选择排序
- 链表排序之冒泡排序
- 链表排序(归并排序)
- Linux中 .bashrc和profile的区别
- selenium RC 使用过程中碰到的小问题
- poj2253 解题报告
- 面试题整理-重建二叉树
- VC++实现注册表监控
- 链表排序
- cmd连接mysql
- ic封装大全
- 从此以后 陌路此生。伤感日志
- 记录下吧 JS 瀑布流
- gzip:stdin:not in gzip format的解决办法
- java网络编程02-Socket用法详解
- python编码与反编码 decode('unicode-escape')
- 带头结点的链队列实现(C语言)