Java数组排序 冒泡排序

冒泡排序:

一次比较两个元素
比较一次找出一个最大值或最小值
下一次就可以少比较一个元素
最后一次只剩一个元素
则不必比较

定义进行排序的数组

int[] S = {10,9,8,7,6,5,4,3,2,1};

每次顺序比较两个数字

外层循环第1次:    9 8 7 6 5 4 3 2 1 10
//找出一个最大值 则第二次不必比较最后一个
外层循环第2次:    8 7 6 5 4 3 2 1 9 10
外层循环第9次:    1 2 3 4 5 6 7 8 9 10
//数组长度 - 1 次即可排序完成

实例

for(int i=0;i<S.length-1;i++)//外层循环控制比较次数
{
    //内层循环当前元素与后一个比较 所以S.length - 1就能比较到最后一个元素
    //外层循环一次找出一个最值于数组末尾 则减去外层循环次S.length - i
    for(int j=0;j<S.length-i-1;j++)//内层循环控制比较元素
    {
        if(S[j] > S[j+1])//前一个与后一个进行比较 
        {
            God = S[j];
            S[j] = S[j+1];
            S[j+1] = God;
        }
    }
} 

//遍历输出数组元素
for (int i : S)
{
    System.out.print(i);
}

运行结果:1 2 3 4 5 6 7 8 9 10

猜你喜欢

转载自blog.csdn.net/weixin_42921496/article/details/81543365