首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >排序算法类模板

排序算法类模板

作者头像
SuperHeroes
发布2018-05-30 17:02:27
6660
发布2018-05-30 17:02:27
举报
文章被收录于专栏:云霄雨霁云霄雨霁云霄雨霁

排序算法类模板中约定了一些方法:

  • sort()方法:排序算法的具体实现。
  • less()方法:对元素进行比较。
  • exch()方法:将元素交换位置。
  • show()方法:打印数组。
  • isSort()方法:测试数组元素是否有序。
  • main()方法:测试函数。
public class Example {
	public static void sort(Comparable[] a){
        //排序
	}
	private static boolean less(Comparable<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;
	}
	private static void show(Comparable[] a){
        //打印
		for(int i = 0; i<a.length;i++)
			System.out.print(a[i]+" ");
		System.out.println();
	}
	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;
	}
	public static void main(String[] args){
        //测试排序方法以及性能
	}
}

此排序算法类模板适用于任何实现了Comparable接口的数据类型。Java中封装的数字类型和String类型以及许多高级数据类型(如File和URL)都实现了此接口。

在创建自己的类时,只要实现Comparable接口就可以用示例代码将其排序。要做到这一点只需在自己的类中实现compareTo()方法定义目标类型对象的自然排序。compareTo()实现了主键抽象----它给出了实现了Comparable接口的任意数据类型的对象的大小顺序的定义。

Comparable接口位于java.lang包中,要实现此接口只需要实现comareTo()方法即可。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档