package com.test;
/**
* The bubble sorting demo in Java.
* @author Belin Wu
* @version 1.0 2012-07-29
*/
public class BubbleSort {
/**
* Sort the int array by bubble sorting.
* @param values the int array for sorting.
*/
public static void bubbleSort(int[] values) {
boolean isOrdered = true; // 认为数组是有序的
int temp = 0; // 数组元素交换时的临时变量
// 进行数组排序
for (int i = 0; i < values.length - 1; i++) {
for (int j = 0; j < values.length - 1 - i; j++) {
if (values[j] > values[j + 1]) {
temp = values[j];
values[j] = values[j + 1];
values[j + 1] = temp;
isOrdered = false; // 发生元素交换,数组是无序的。
}
}
// 判断是否可以结束数组排序
if (!isOrdered) {
isOrdered = true; // 再次认为数组是有序的
} else {
break; // 跳出外层for循环
}
}
}
/**
* Test the bubble sorting.
* @param args the console arguments as a string array.
*/
public static void main(String[] args) {
// 初始化数组
int[] values = {1, -1, 3, 3, 2, 9, -10, 7, 6, 5};
// 调用方法
bubbleSort(values);
// 打印数组
for (int i = 0; i < values.length; i++) {
System.out.println("values[" + i + "] = " + values[i]);
}
/* 输出结果
values[0] = -10
values[1] = -1
values[2] = 1
values[3] = 2
values[4] = 3
values[5] = 3
values[6] = 5
values[7] = 6
values[8] = 7
values[9] = 9
*/
}
}
转载于:https://my.oschina.net/belinwu/blog/69719