您的位置:首页 > 编程语言 > Java开发

java排序算法_001冒泡排序

2012-12-04 16:42 218 查看
package wzs.sort;

import java.util.Arrays;

//冒泡排序
//基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,
//自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。
//即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
//54321
//开始冒泡...
//45321
//43521
//43251
//43215
//第一轮结束...
//34215
//32415
//32145
//第二轮结束...
//23145
//21345
//第三轮结束...
//12345
//第四轮结束...
public class Test_wzs001
{
public static void main(String[] args)
{
int[] intArray =
{
10, 9, 5, 3, 6, 4, 7, 8, 2, 1
};
bubbleSort(intArray);
}

/**
* 冒泡排序
* @param intArray 需要排序的数组
*/
static void bubbleSort(int[] intArray)
{
int temp;
// i表示第几次比较
for (int i = 0; i < intArray.length - 1; i++)
{
// j表示比较次数
for (int j = 0; j < intArray.length - 1 - i; j++)
{
if (intArray[j] > intArray[j + 1])
{
temp = intArray[j];
intArray[j] = intArray[j + 1];
intArray[j + 1] = temp;
}
}
System.out.println("第" + (i + 1) + "排序:" + Arrays.toString(intArray));
}
System.out.println("\n排序后结果:" + Arrays.toString(intArray));
}
}

输出结果:

第1排序:[9, 5, 3, 6, 4, 7, 8, 2, 1, 10]
第2排序:[5, 3, 6, 4, 7, 8, 2, 1, 9, 10]
第3排序:[3, 5, 4, 6, 7, 2, 1, 8, 9, 10]
第4排序:[3, 4, 5, 6, 2, 1, 7, 8, 9, 10]
第5排序:[3, 4, 5, 2, 1, 6, 7, 8, 9, 10]
第6排序:[3, 4, 2, 1, 5, 6, 7, 8, 9, 10]
第7排序:[3, 2, 1, 4, 5, 6, 7, 8, 9, 10]
第8排序:[2, 1, 3, 4, 5, 6, 7, 8, 9, 10]
第9排序:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

排序后结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息