關(guān)鍵詞:趟,相鄰兩兩之間
趟: 每將數(shù)組中的一個數(shù)歸位菱魔,稱為“一趟”
private void bubbleSort(int[] pInts) {
for (int i = 0; i < pInts.length; i++) {
// 設(shè)置標(biāo)記恐似,如果沒有大小交換,就跳出此次比較
boolean swap = false;
// 比較相鄰兩位的大小,排除數(shù)組較比越界的可能擦剑,在長度上-1,在遍歷到倒數(shù)第二個的時候芥颈,j 就不再向后取值
for (int j = 0; j < pInts.length - 1 - i; j++) {
if (pInts[j] > pInts[j + 1]) {
swap(pInts, j, j + 1);
swap = true;
}
}
// 此時說數(shù)組中的元素已經(jīng)按照要求排好了順序惠勒,如果此時外圈的循環(huán)還沒結(jié)束,就手動跳出
if (!swap) {
break;
}
}
}
private void swap(int[] pInts, int a, int b) {
pInts[a] = pInts[a] + pInts[b];
pInts[b] = pInts[a] - pInts[b];
pInts[a] = pInts[a] - pInts[b];
}