冒泡排序:扫描整个表,比较相邻元素,如果它们的相互次序不正确就交换它们.执行的结果是将最大值"起泡"到表中的最后位置,这也正是它在有序表中的最后位置.然后再次扫描表,将第二个最大值起泡到最终位置.继续这个过程,直到所有的元素都排序正确.
public static void bubbleSort(Comparable[] data) {
int position, scan;
for(position = data.length-1; position >= 0 ; position--) {
for(scan = 0; scan <= position-1; scan++) {
if(data[scan].compareTo(data[scan+1]) > 0)
swap(data, scan, scan+1);
}
}
}
选择排序:扫描整个表,找到最小值.将这个值与表中第一个位置的值想交换.扫描余下的表(除第一个元素之外的所有制),超找最小值,将这个值与表第二个位置的值交换.如此重 复这个过程,完成时,表中排序完毕
public static void selectionSort(Comparable[] data) {
int min;
for(int index = 0; index < data.length-1; index++) {
min = index;
for(int scan = index + 1; scan < data.length; scan++) {
if(data[scan].compareTo(data[min]) < 0)
min = scan;
}
swap(data, min, index);
}
}
插入排序:对表中的最前两个元素排序,必要时进行交换,将表中第三个值插入到前两个(已排序)值 组成的序列中的合适位置.然后将第四个值插入到表中前三个值中的合适位置.每次插入时,已有序的子序列中的元素个数增加一个.继续这个过程直到所有元素有序为止.
public static void insertSort(Comparable[] data) {
for(int index = 0; index < data.length; index++) {
Comparable key = data[index];
int position = index;
//把大的值往右边移动
while(position > 0 && data[position-1].compareTo(key) > 0) {
data[position] = data[position-1];
position--;
}
data[position] = key;
}
}
//交换
private static void swap(Comparable[] data, int index1, int index2) {
Comparable temp = data[index1];
data[index1] = data[index2];
data[index2] = temp;
}
分享到:
相关推荐
JAVA排序汇总JAVA排序汇总JAVA排序汇总
java排序 java 排序 排序大全 算法 java算法
java排序.txt
Java 中的一些重要排序,比如冒泡,直接插入排序
java实现的常用的几种基本排序算法,插入、交换、选择、归并
java排序算法使用及场景说明 文档后面有一些别人的链接,多在google上搜索Java排序算法,及维基百科上面也有很全的算法介绍。
java实现中文排序,按数字字母汉字的顺序进行排序
java排序算法大全 为了便于管理,先引入个基础类: 一 插入排序 二 冒泡排序 三,选择排序 四 Shell排序 五 快速排序 六 归并排序 等等
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
Java排序方法详解大全 Java排序 快速排序 冒泡排序
Java排序算法实现 Java排序算法实现 Java排序算法实现
java排序方法 java排序方法 java排序方法 java排序方法
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...
java排序,简单介绍了java的主要有那些排序方法。
JAVA排序汇总,java应用中一些比较经典的排序算法
java类,该类可以对一组数值进行由小到大排序。主类的main方法中,从键盘上输入一组数值,使用该类对其排序。
java 中文姓氏 排序
Java排序算法代码.
java排序大全(含各种常用得排序算法),学习排序不错得资料
执行语句:java sort <输入方式> <图形界面/非图形界面选择> <待排序数列> 例: java sort 0 643 323 12 3 523 23 //命令行输入数据并排序 java sort 1 1 //非图形界面下手动输入数据并排序 java sort 1 2 //手动...