要想在实际中使用冒泡排序,写出代码,需要理解冒牌程序的算法以及基本思想。
通过比较相邻的两个数据单元,如果前一个比后一个大,需要一个"中介值"来存储大的那个,然后通过中介值互换比较数的位置。
实际操作:通过两个for循环。外层用于控制排序轮数,内层用于交换比较两个数的位置。
代码如下:
package exercise;
public class BubbleSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[]array = {23,56,9,69,76,102};
BubbleSort sorter = new BubbleSort();
sorter.sort(array);
}
public void sort(int[]array){
for(int i = 1;i<array.length;i++){
for(int j = 0;j<array.length-i;j++){
if(array[j]>array[j+1]){
//如果前一个>后一个,将前一个的值存在temp中,后一个的值赋值给前一个位置,然后将temp中的前一个赋值给后一个
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
showArray(array);
}
public void showArray(int[] array){
for(int i : array){
System.out.println(">"+i);
}
}
}