排序笔记_1
来源:互联网 发布:mac怎么显示包内容 编辑:程序博客网 时间:2024/06/16 02:12
1、排序算法类的模板:
public class Example{ public static void sort(Comparable[] a){//排序代码 ... } private static boolean less(Comparable v, Comparable w){//对元素进行比较 return v.comparaTo(w); } private static void exch(Comapable[] a, int i, int j){//对元素进行交换 Comparable t=a[i]; a[i]=a[j]; a[j]=t; } private static void show(Comparable[] a){ for(int i=0;i<a.length;i++){ System.out.print(a[i]); } System.out.print(); } public static boolean isSorted(Comaprable[] a){//判断是否成功进行了排序 for(int i=1;i<a.length;i++){ if(less(a[i], a[i-1])) return false; } return true; }}
2、排序成本模型:研究算法时,需要计算交换和比较 的次数,对于无交换和比较的算法,我们会计算访问数组的次数。
3、每一个想调用sort()方法的类(或者数据类型)必须实现Coparable接口,并且实现该接口下的compareTo()方法。
代码示例:
public class Test implements Comparable<Test>{ public int compareTo(Test o) {//定义目标类型对象的自然次序 ... return 0; }}
compareTo(Test o)方法必须实现一个全序关系:
自反性:对于所有的 v,v = v;
反对称性:对于所有的 v
0 0
- 排序笔记_1
- 笔记_1
- 排序_1.冒泡排序
- 数据结构之排序_1
- 交换排序_1.冒泡排序
- 排序算法_1,冒泡排序
- C 笔记_1
- Junit学习笔记_1
- Java_SE笔记_1
- PushButton学习笔记_1
- C# 初学笔记_1
- PCL 学习笔记_1
- 复习笔记_1。
- 【Unity3D_Shader】笔记_1
- MarkDown 学习笔记_1
- Servlet入门笔记_1
- Swift学习笔记_1
- Java初级笔记_1
- Oracle 11g 关闭内存自动管理
- linux下面tomcat挂掉后重新启动的shell脚本
- java学习心得——自动回复功能
- Android之WebView优化之路
- HDU 2846 Repository (字典树)
- 排序笔记_1
- R语言实现SOM(自组织映射)模型(三个函数包+代码)
- hrbust 哈理工OJ 2133 最快通过【dijkstra过】
- Android之Context详解
- NodeJS Connect 简单路由中间件
- Android保证首次获取到的location对象不为空的解决方案
- HDOJ 1008 Elevator
- Android之图片加载库Picasso源码分析
- opencv 行人计算,详细分析(每行解释)---给女朋友看的,初学者T T