Java 常用排序
Posted wlytctw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 常用排序相关的知识,希望对你有一定的参考价值。
Java 常用排序,习惯规则的使用“从小到小”后者从“从大到小”进行数组的相关排序!为了方面应用直接采取工具类的方式来抽取相关方法。
以下列出常用的排序方式:
需要补充说明的是:排序是一种算法,希尔排序是排序最快的,运算最快的,效率最高的!
public class SortOperation
/**
* 选择排序
* 拿到数组的第0个元素,依次为之后的元素进行对比
* 第一次排序结束之后,拿数组的第1个元素依次对比(第0个元素除外)
* @param data
*/
public void selectSort(int[] data)
for (int i = 0; i < data.length - 1; i++)
for (int j = i + 1; j < data.length; j++)
if (data[i] > data[j])
int temp = data[i];
data[i] = data[j];
data[j] = temp;
System.out.println("选择排序的结果值:");
for (int i = 0; i < data.length; i++)
System.out.print(data[i] + "、");
/**
* 冒泡排序
*
* @param data
*/
public void bubbleSort(int[] data)
for (int i = 0; i < data.length - 1; i++)
for (int j = 0; j < data.length - i - 1; j++)
if (data[j] > data[j + 1])
int temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
System.out.println("冒泡排序的结果值:");
for (int i = 0; i < data.length; i++)
System.out.print(data[i] + "、");
/**
* 折半查找法
*
* @param key
* @param data
*/
public static int biSearch(int key, int[] data)
int start = 0;
int end = data.length - 1;
int center = (start + end) >> 1; // ">>1" 代表 "/2"
while (data[center]!= key)
if (key > data[center])
start = center + 1;
else if (key < data[center])
end = center - 1;
if (start > end) // key 大于 数组中的任何一个 元素的时候,使用 -1 来标示
return -1;
center = (start + end) >> 1;
return center;
/**
*测试类
*/
public class MyClass
private static int []data = 5, 3, 4, 1, 0, 2, 12,;
private static int b[] = 1, 3, 4, 45, 50, 52, 62,;
public static void main(String args[])
SortOperation operation = new SortOperation();
// operation.selectSort(data);
operation.bubbleSort(data);
int index = operation.biSearch(320,b);
System.out.println("下标:"+index);
以上是关于Java 常用排序的主要内容,如果未能解决你的问题,请参考以下文章