Java:冒泡排序法
冒泡排序法是最基本的排序法之一,冒泡排序法的运行机制是通过循环遍历元素并调整相邻元素顺序来实现的一种简单排序方法。冒泡排序的实质是相邻两个元素比较,然后按照升序或降序调换位置。
下为降序冒泡排序的代码:
public class Training {
public static void main(String[] args) {
int [] array = {3,2,5,1,4};
for (int time = 1; loopTime < array.length; loopTime++) {
for (int i = 0,temp = 0; i < array.length-loopTime; i++) {
if (array[i+1]>array[i]) {
temp = array[i+1];
array[i+1] = array[i];
array[i] = temp;
}
}
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
该for循环每循环一次就会将较大的数据放在适当的位置,比如loopTime=1;则将最大数据放在最后;loopTime=2;则将第二大数据放在倒数第二个元素位置; array.length-loopTime:从提高代码的性能角度出发,减少该循环“多余”的循环次数;
下为运行结果:
当然,还有升序的冒泡排序,其实只需将“if (array[i+1]>array[i])”中的布尔条件改成array[i+1]<array[i]即可。
for (int i = 0; i < array.length-time; i++) {
if (array[i+1]<array[i]) {
temp = array[i+1];
array[i+1] = array[i];
array[i] = temp;
}
}