算法之排序的简介及排序模板
来源:互联网 发布:sql语句增加一列数据 编辑:程序博客网 时间:2024/06/05 14:29
排序
什么是排序
排序就是将一组对象按照某种逻辑顺序重新排列的过程。
排序在实际项目中的用例
(1) 信用卡账单中的交易是按照日期排序的;
(2)现在几乎所有的O2O应用中都会存在“按范围搜素、离我最近、显示距离”等等基于
位置的交互,距离由近到远排序。
學習排序算法的实际意义
(1)对排序算法的分析将有助于你全面裂解,比较算法性能
(2)类似的技术也能有效解决其他类型的问题
(3)排序算法常常是我们解决其他问题的第一步
Comparable接口
此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。
排序算法类的模板
public class Example { /** * 排序代码放在sort方法中 * * @param a */ public static void sort(Comparable[] a) { } /** * 对元素进行比较 * * @param v * @param w * @return */ private static boolean less(Comparable v, Comparable w) { return v.compareTo(w) < 0; } /** * 将元素交换位置 */ private static void exch(Comparable[] a, int i, int j) { Comparable t = a[i]; a[i] = a[j]; a[j] = t; } /** * 排序算法是否成功,确认排序后数组元素都是有序的 * * @param a * @return */ public static boolean isSorted(Comparable[] a) { for (int i = 1; i < a.length; i++) { if (less(a[i], a[i - 1])) { return false; } } return true; }}
以上的排序算法框架,我们都会为这样一个类实现一个sort()方法并将Example改为算法的名称。这段代码使我们的排序方法适用于任意实现了Comparable接口的数据类型。
阅读全文
0 0
- 算法之排序的简介及排序模板
- 排序算法之归并排序(模板类)
- 排序算法之插入排序(模板类)
- 算法模板之拓扑排序
- 排序算法类的模板
- 排序算法类的模板
- 基础算法模板之链表+排序
- 排序之表排序、基数排序及所有排序算法比较
- 排序算法之堆排序、基数排序和归并排序的思想及部分实现
- 归并排序及排序算法的总结
- 算法【2】:排序算法的简介
- 归并排序算法模板
- 拓扑排序算法模板
- 【模板】 排序算法
- 拓扑排序(算法模板)
- 排序算法类模板
- 拓扑排序及模板
- 拓扑排序及模板
- Linux定时任务工具crontab详解及系统时间同步
- Python学习之Decorator详解
- 链接陌生的wifi,为什么会中毒?账号和密码泄露?原理是什么?
- ANSYS 随机振动 中的PSD响应曲线
- Spring--AOP学习
- 算法之排序的简介及排序模板
- 传智播客-Java学习笔记day26
- arcgis api4.x for js使用注意事项
- python—timedelta
- 51nod 1050 循环数组最大子段和
- 激光SLAM Vs 视觉SLAM
- 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
- 小程序引入WxValidate.js的方法
- Oracle常用函数-日期函数