算法思想:
相邻两个数据进行比较,不合适就交换。每一趟都将最大结果找出来
如9 5 2 4
第一趟:9和5比较 交换 5 9 2 4.
9和2比较 交换 5 2 9 4
9和4比较 交换 5 2 4 9
第一趟结束 5 2 4 9
第二趟:5和2比较 交换 2 5 4 9
5和4比较 交换 2 4 5 9第二趟结束 2 4 5 9
第三趟: 2和4比较 不交换
第三趟结束 2 4 5 9
排序结束。
具体实现如下:
package com.sort;
public class BubbleSort {
/*
*冒泡排序
*
* --num[] 待排序数组
*
*/
public static void bubbleSort(int num[])
{
int temp;
for (int i=0;i<num.length-1;i++)
for (int j=0;j<num.length-i-1;j++)
{
if (num[j]>num[j+1]) // 这里是从大到小排序,如果是从小到大排序,只需将“<”换成“>”
{
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
for(int k=0;k<num.length;k++){
System.out.println(num[k]+" ");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] num={2,3,4234,4,52,12,1212,32442};
bubbleSort(num);
}
}