冒泡排序是指,在一列无序数组中从左到右遍历排序,如数列:2,13,10,623,2;(升序排列)开始时2和13比较,13比2大符合,之后13与10比较,13大于10,交换位置,数列就成{2,10,13,623,2}。13再与与623比较,13小,不变。623再与2比较。623大,交换位置、第一轮排列结束,数列呈{2,10,13,2,623},最大的数像是泡泡一样冒到了最右边。重复上述步骤就是冒泡排序。
是序列中先从最左边开始,相邻的两个元素开始做比较。也即是第i+1个与第i个进行比较,如果(i+1)<i就将其位置替换。(升序)把小的排在前面。排序需要遍历n-1次,第一次遍历中数列需要比较n-1,第一次遍历结束,最小的元素就会被替换到最左边。第二次遍历,数列需要比较n-2次,第二小的元素就会被替换到左边第二的位置。以此类推,最终数列呈现从左到右依次升序的形式。
for(int j=0;j<bubble.length-1;j++){//2,控制内循环的次数,j=0因为bubble[0]是第一个元素。
int[] bubble = {89, 42, 6552, 651, 31, 53, 613, 589};
for (int i = 1; i < bubble.length; i++) {//控制遍历的次数
for (int j = 0; j < (bubble.length - i); j++) {//控制该次遍历下的数据的比较轮数
if (bubble[j] > bubble[j + 1]) {
int tem = bubble[j];
bubble[j] = bubble[j + 1];
bubble[j + 1] = tem;
}
}
}
31 42 53 89 589 613 651 6552
Process finished with exit code 0