int类型数组的冒泡排序算法,详细代码如下:
package com.dylan.algorithm;
public class TestBubbleSort {
/**
* @param args
* int数组中用冒泡排序来实现int类型的整数从小到达排列,怎么确定需要循环的最大次数呢?
*/
public static void main(String[] args) {
int[] a = new int[] { 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8,
7, 6, 5, 4, 3, 2, 1 };
int num = 0;
// 需要循环的次数是数组的长度
for (int b = 0; b < a.length; b++) {
num++;
for (int i = 0; i < a.length - b - 1; i++) {
if (a[i] > a[i + 1]) {
int j = a[i + 1];
int k = a[i];
a[i] = j;
a[i + 1] = k;
}
}
}
for (int m = 0; m < a.length; m++) {
System.out.print(a[m] + " ");
}
System.out.println("\n" + "循环次数:" + num + ",数组的长度:" + a.length);
}
}
很简单的一个实现,只为练习一下。