Java冒泡排序(Bubble Sort)實例講授。本站提示廣大學習愛好者:(Java冒泡排序(Bubble Sort)實例講授)文章只能為提供參考,不一定能成為您想要的結果。以下是Java冒泡排序(Bubble Sort)實例講授正文
舉個例子:int[] array = {2,4,9,7,6,5};
第一輪2和4停止比擬,2<4,地位不變。再4和9停止比擬,4<9,地位不變。再9和7停止比擬,9>7,9和7的地位交換。再9和6停止比擬,9>6,9和6的地位交換。再9和5停止比擬,9>5,地位交換。第一輪比擬的成果就是2 4 7 6 5 9。
第二輪2和4停止比擬,2<4,地位不變。再4和7停止比擬,4<7,地位不變。再7和5停止比擬,7>6,7和6的地位交換。再7和5停止比擬,7>5,7和5的地位交換。第二輪的成果就是2 4 6 5 7 9。
第三輪2和4停止比擬,2<4,地位不變。再4和6停止比擬,4<6,地位不變。再6和5停止比擬,6>5,6和5的地位交換。第三輪的成果是2 4 5 6 7 9(曾經是我們想要的成果了)。
代碼以下:
package com.test;
public class BubbleSortTest
{
public static void main(String[] args)
{
int[] array = {2,4,9,7,6,5};
BubbleSortTest bst = new BubbleSortTest();
bst.bubbleSort(array);
}
public int[] bubbleSort(int[] array)
{
for(int i=0;i<array.length-1;i++)
{
boolean bl = true;
for(int j=0;j<array.length-1-i;j++)
{
if(array[j] > array[j+1])
{
bl = false;
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
//假如當輪沒有產生地位變更,解釋曾經排序終了,就沒有需要再停止斷定了
if(bl)
{
break;
}
/*--不雅看成果的代碼,可以疏忽---------------------*/
System.out.println("第" + (i + 1) + "趟排序");
for(int k = 0; k < array.length; k++)
{
System.out.print(array[k] + " ");
}
System.out.println();
/*-------------------------------------*/
}
return array;
}
}