下面是 Java 实现的一些常见排序算法。
1:冒泡排序
对几个无序的数字进行排序,比较常用的方法是冒泡排序法。冒泡法排序是一个比较简
单的排序方法,在待排序的数列基本有序的情况下排序速度较快。
基本思路:对未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序
相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,
然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。
可以看出如果有 N 个元素,那么一共要进行 N-1 轮比较,第 I 轮要进行 N-I 次比较。( 如 :
有 5 个元素,则要进行 5-1 轮比较。第 3 轮则要进行 5-3 次比较)
示例如下:
public class Test {
public static void main(String[] args) {
//需要排序的数组,目前是按照升序排列的
int a[] = new int[5];
a[0] = 3;
a[1] = 4;
a[2] = 1;
a[3] = 5;
a[4] = 2;
//冒泡排序
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){//注意j的开始值是i+1,因为按照排序
规则,比a[i]大的值都应该在它后面
if(a[i] > a[j]){
int temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
//检测一下排序的结果
for(int i : a){
System.out.println("i="+i);
}
}
}
运行结果:
i=1
i=2