[code]package bubbling;
public class Sort {
/**
* @param args
*/
public static void main(String[] args) {
int[] iArray = { 65, 45, 78, 12, 4, 23, 88, 90, 33, 53 };
int k = 0;
// 循环次数计数器
int count = 0;
// 每次都要从第一个开始比,最后的不用再比
for (int j = 0; j < iArray.length - 1; j++) {
// 定义是否已经排列完成,可以结束
boolean a = true;
for (int i = 0; i < iArray.length - 1; i++) {
// 对邻接的元素进行比较,如果后面的小,就交换
if (iArray[i] > iArray[i + 1]) {
k = iArray[i];
iArray[i] = iArray[i + 1];
iArray[i + 1] = k;
// 如果进入到了这个条件,就说明后面还需要完成一次循环,检查整个排序情况
a = false;
}
count++;
}
// 如果第二层for循环一直没有进入if交换,那么整个数组排序完成,a将为初始值true,这时就可以跳出整个循环
if (a)
break;
}
// 输出结果
for (int i = 0; i < iArray.length; i++) {
System.out.print(" " + iArray[i]);
}
System.out.println("\n 一共循环" + count + "次!");
}
}[/code]
public class Sort {
/**
* @param args
*/
public static void main(String[] args) {
int[] iArray = { 65, 45, 78, 12, 4, 23, 88, 90, 33, 53 };
int k = 0;
// 循环次数计数器
int count = 0;
// 每次都要从第一个开始比,最后的不用再比
for (int j = 0; j < iArray.length - 1; j++) {
// 定义是否已经排列完成,可以结束
boolean a = true;
for (int i = 0; i < iArray.length - 1; i++) {
// 对邻接的元素进行比较,如果后面的小,就交换
if (iArray[i] > iArray[i + 1]) {
k = iArray[i];
iArray[i] = iArray[i + 1];
iArray[i + 1] = k;
// 如果进入到了这个条件,就说明后面还需要完成一次循环,检查整个排序情况
a = false;
}
count++;
}
// 如果第二层for循环一直没有进入if交换,那么整个数组排序完成,a将为初始值true,这时就可以跳出整个循环
if (a)
break;
}
// 输出结果
for (int i = 0; i < iArray.length; i++) {
System.out.print(" " + iArray[i]);
}
System.out.println("\n 一共循环" + count + "次!");
}
}[/code]