“排序”的实体类都实现了java.lang.Comparable接口。
Comparable接口中只有一个方法:
public int compareTo(Object obj);
该方法:
返回0,表示this ==obj
返回正数,表示this>obj
返回负数,表示this<obj
实现了Comparable接口的类通过实现compareTo方法从而确定该类对象的排序方式。一、引...
分类:
编程语言 时间:
2015-05-17 18:44:35
阅读次数:
234
对于JAVA排序需要实现Comparator接口,来指定按什么顺序来排序,集合类用Collections.sort方法,数组用Array.sort方法,默认按升序排序public class Music { private String filename; private String ...
分类:
编程语言 时间:
2015-05-14 23:38:08
阅读次数:
153
以下是对使用Java对各种排序算法的一个展示...
分类:
编程语言 时间:
2015-05-14 14:10:45
阅读次数:
121
1 package com.array; 2 3 public class Sort_Insert { 4 /* 5 * 项目名称:插入排序 ; 6 * 项目要求:用JAVA对数组进行排序,并运用插入排序算法; 7 * 作者:Sevck; 8 ...
分类:
编程语言 时间:
2015-05-12 22:35:36
阅读次数:
127
1 package com.array; 2 3 public class Sort_Quick { 4 /* 5 * 项目名称:快速排序 ; 6 * 项目要求:用JAVA对数组进行排序,并运用快速排序算法; 7 * 作者:Sevck; 8 *...
分类:
编程语言 时间:
2015-05-12 22:24:52
阅读次数:
173
??
排序算法
排序是将无需的记录序列调整为有序记录序列的一种操作。
包括:冒泡排序,选择排序,堆排序,插入排序,希儿排序,快速排序,归并排序等。
(一)
冒泡排序
基本思想:
每次进行相邻两个元素的比较,如果为逆序时即进行交换,直到没有反序的数据元素为止。
排序过程:
设想被排序的...
分类:
编程语言 时间:
2015-04-03 17:32:47
阅读次数:
231
[基本思想]
将原本有大量记录数的记录进行分组,分割成若干个子序列,此时每个子序列待排序的记录个数就比较少了,然后在这些子序列内分别进行直接插入排序,当整个序列都基本有序时,再对全体记录进行一次直接插入排序。
所谓的基本有序,就是小的关键字基本在前面,大的基本在后面,不大不小的基本在中间,像{2, 1, 3, 6, 4, 7, 5, 8, 9}这样可以称为基本有序了。
[java实现...
分类:
编程语言 时间:
2015-03-12 22:44:01
阅读次数:
189
[算法说明]
堆排序是对简单选择排序的改进
简单选择排序是从n个记录中找出一个最小的记录,需要比较n-1次。但是这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时未保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较次数较多。
堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆...
分类:
编程语言 时间:
2015-03-12 22:35:02
阅读次数:
206
[基本思想]
关键:在前面已经排好序的序列中找到合适的插入位置
步骤:
1. 从第一个元素开始,该元素可以认为已经排好序。
2. 取出下一个元素,在已经排好序的元素序列中从后往前扫描进行比较。
3. 如果该元素(已排序) 大于新元素,则将该元素移到下一位置。
4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。
5. 将新元素插入到该位置后面。
6. 重复步骤2~5...
分类:
编程语言 时间:
2015-03-12 17:18:57
阅读次数:
227
[基本思想]
在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数种再找出最小的与第二个位置的数交换,如此循环至倒数第二个数和最后一个数比较为止。
算法关键:找到最小的那个数,并用变量记住它的下标。
[java实现]
public class SimpleSelectionSort {
public static void main(String[] arg...
分类:
编程语言 时间:
2015-03-12 15:10:45
阅读次数:
193