浏览 1986 次
锁定老帖子 主题:Java基础: 冒泡排序
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-10
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 + "次!"); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |