2019-07-02
1.将序列中所有元素两两比较,将最大的放在最后面。
2.将剩余序列中所有元素两两比较,将最大的放在最后面。
3.重复第二步,直到只剩下一个数。
代码实现
public class bubbleSort {
public void bubbleSort(int[] a) {
int length = a.length;
int temp;
//控制比较的趟数,每趟把最大的元素浮动到末尾,共需length-1趟
for (int i = 0; i < length - 1; i++) {
//用于每趟中两两比较元素使最大的元素浮动到末尾
for (int j = 0; j < length - i - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
}
@Test
public void testBubbleSort() {
int[] a = {35, 11, 24, 52, 77, 69, 8, 3, 6, 62};
int[] b = {7, 9, 3, 2, 5, 8, 6};
bubbleSort(a);
bubbleSort(b);
}
}
/*
Output:
[3, 6, 8, 11, 24, 35, 52, 62, 69, 77]
[2, 3, 5, 6, 7, 8, 9]
*/