java内部排序

1 public class MergeWorkAssignment implements Comparable<MergeWorkAssignment>
2 实现方法
3 public int compareTo(MergeWorkAssignment o) {
4   return this.getVocabularyName().compareToIgnoreCase(o.getVocabularyName());
5  } 
 1 public class BriefTermExGroupSortBySourceGroup implements Comparator {
 2     public int compare(Object o1, Object o2) {
 3         int result = 0;
 4         long d1 = ((BriefTermExGroup) o1).getPreferred();
 5         long d2 = ((BriefTermExGroup) o2).getPreferred();
 6
 7         if (d1 > d2) {
 8             result = 1;
 9         } else {
10             if (d1 == d2) {
11                 long group1 = ((BriefTermExGroup) o1).getSourceGroupId();
12                 long group2 = ((BriefTermExGroup) o2).getSourceGroupId();
13                 if (group1 > group2) {
14                     result = 1;
15                 } else {
16                     if (group1 == group2) {
17                         result = 0;
18                     } else {
19                         result = -1;
20                     }
21                 }
22             } else {
23                 result = -1;
24             }
25         }
26         return result;
27     }
28 }

调用:

Collections.sort(vBriefTermExGroup, new BriefTermExGroupSortBySourceGroup());

 1 日期
 2
 3 package tcweb.config;
 4
 5 import java.util.Comparator;
 6 import java.util.Date;
 7
 8 public class VocabularyDateComparator implements Comparator {
 9  public int compare(Object o1, Object o2) {
10   int result=0;
11      Date date1 = ( (Vocabulary) o1).getRegisteredTime();
12      Date date2 = ( (Vocabulary) o2).getRegisteredTime();
13      if (date1 == null)
14             return 1;
15         if (date2 == null)
16             return -1;
17
18      if(date1 != null && date2 != null){
19       result = date2.compareTo(date1);
20      }
21      return result;
22
23    }
24
25 }
 1 数字
 2
 3 package tcweb.config;
 4
 5 import java.util.Comparator;
 6
 7 public class VocabularyTypeCompatarot implements Comparator {
 8  public int compare(Object o1, Object o2) {
 9   int result=0;
10   long d1 = ( (Vocabulary) o1).getVocabularyType();
11     long d2 = ( (Vocabulary) o2).getVocabularyType();
12     if (d1 > d2) {
13      result = 1;
14           } else {
15               if (d1 == d2) {
16                result = 0;
17               } else {
18                result = -1;
19               }
20    }
21     return result;
22  }
23
24 }

java内部排序

时间: 2024-10-12 14:49:16

java内部排序的相关文章

Java实现各种内部排序算法

数据结构中常见的内部排序算法: 插入排序:直接插入排序.折半插入排序.希尔排序 交换排序:冒泡排序.快速排序 选择排序:简单选择排序.堆排序 归并排序.基数排序.计数排序 直接插入排序: 思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成. 性能:时间复杂度:最好o(n):有序,最坏o(n^2):逆序,平均o(n^2):空间复杂度o(1):稳定 1 public int[] straightInsertSort(int array[]){ 2 int

Java常见排序算法之Shell排序

在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let‘s go~~~ 1.排序算法的基本概念的讲解 时间复杂度:需要排序的的关键字的比较次数和相应的移动的次数. 空间复杂度:分析需要多少辅助的内存. 稳定性:如果记录两个关键字的A和B它们的值相等,经过排序后它们相对的位置没有发生交换,那么我们称这个排序算法是稳定的. 否则我们称这个排序算法是不稳定的

java 集合排序

http://www.cnblogs.com/standcloud/articles/2601914.html java 集合排序 Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.util.List, java.util.Comparator) 第一个方法要求所排序的元素类必须实现java.lang.Comparable接口.第二个方法要求实现一个j

Java常见排序算法之归并排序

在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let‘s go~~~ 1.排序算法的基本概念的讲解 时间复杂度:需要排序的的关键字的比较次数和相应的移动的次数. 空间复杂度:分析需要多少辅助的内存. 稳定性:如果记录两个关键字的A和B它们的值相等,经过排序后它们相对的位置没有发生交换,那么我们称这个排序算法是稳定的. 否则我们称这个排序算法是不稳定的

java中排序算法

Java中排序可以分为内部排序,外部排序具体如下: 这里我们讨论选择排序.冒泡排序.快速排序 选择排序 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止. 操作方法: 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换: 第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换: 以此类推..... 第i

数据结构6种内部排序算法的比较

1.需求分析 (1)输入数据的形式为:伪随机数产生程序产生,且每次输入数不少于100个,至少要用5组不同的输入数据 (2)输出的形式为:输出关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)的数据 (3)程序能达到的功能:对起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序这6种常用的内部排序算法进行比较,比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动) (4)测试数据:正确输入为由伪随机数产生程序产生100个随机数,然后输出比较结果,错

10-11-基数排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第10章  内部排序 - 基数排序 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Status.h.Scanf.c        相关测试数据下载  链接? 数据

几种内部排序-分类-复杂性-稳定性

1. 简述 本文主要说明一些常用的内部排序算法的分类.复杂性和稳定性.主要基于现在的理解和学习,详细准确的复杂度可以参见维基百科等比较权威的网站,对于一些算法的不同实现,复杂度也不同,这里给出的复杂度都是相对较好的算法的复杂度. 2. 分类    3. 复杂性和稳定性 冒泡排序:在已经有序的情况,取得O(N)的复杂度.    快速排序:每次递归都是N的复杂度,递归次数根据序列有关系,当已经有序的情况下,递归N次,时间复杂度为O(N*LogN)    插入排序:在已经有序的情况,取得O(N)的复杂

直接插入排序(内部排序)

1 package com.trfizeng.insertionsort; 2 3 /** 4 * 5 * @author trfizeng 内部排序 插入排序 --- 直接插入排序(Straight Insertion Sort) 6 * 7 */ 8 public class StraightInsertionSort { 9 public static int[] straightInsertionSort(int[] array) { 10 // 对传来的待排序数组进行合法验证 11 i