Java数组排序算法,冒泡,选择,插入,快速排序
1.冒泡排序
冒泡排序广泛用于数组排序,大致原理就是从第一个数开始,通过和后面一个数相比较,将较大的往后挪,一一比较之后,将最大的放到最下面。第一次比较完毕将最大的数字放到最后面,第二次比较结束以后将第二大的数字放到最后面,依次进行。
其中,第5行之所以要减去i,是因为每放一个最大的数字到最下面,他们就不用再比较了,这样做只是为了提高效率。
public class InsertionSort{ public void sort(int[] values){ for(int i=1;i<values.length;i++){ for(int j=i;j>0;j--){ if(values[j]<values[j-1]){ //交换 int temp = values[j]; values[j] = values[j-1]; values[j-1] = values[j]; } } } }}
4.数组自带的静态方法
这个方法是Arrays.sort(int[ ] values);
直接使用就可以了。怎么说呢?选择排序算法最主要考虑的就是效率,数组自带的这个排序方法叫做快速排序方法。看名字就知道效率最高,所以说默认情况下,就直接使用这个就行了。
说到这里,假如你想要进行反向排序的话,那么也可以使用数组自带的方法 Arrays.sort(int[ ] values, Collections.reverseOrder());
这样的话,比如你要用到比分之类的,就可以反向来排,分数越大越要排在前面。