Java教程

JAVA冒泡排序手把手教会你

本文主要是介绍JAVA冒泡排序手把手教会你,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

        相信看到这篇文章的你也在为此排序方法百思不得其解,小编也是一步一步过来的现在就手把手教会你。

        首先什么是冒泡排序?

                每一次循环结束之后,都会找到最大值(在最右边)

     数组下标      0    1   2    3    4

               假如:9,5,7,6,2

第一次循环:

5,9,7,6,2 (9>5,9和5交换位置(数组下标))

5,7,9,6,2 (9>7,9和7交换位置)

5,7,6,9,2(9>6,9和6交换位置)

5,7,6,2,9(9>2,9和2交换位置)

所有经过第一次循坏比较最大值=9,输出最大值。所有第二次循环比较只剩下5,7,6,2

第二次循环:

5,7,6,2(5<7,所以不交换位置,但是一定会比较!)

5,6,7,2(7>6,所以7和6交换位置)

5,6,2,7(7>2,所以7和2交换位置)

所有经过第二次循坏比较最大值=7,输出最大值。所有第二次循环比较只剩下5,6,2

第三次循环:

5,6,2(5<6,所以不交换位置)

5,2,6(6>2,所以6和2交换位置)

所有经过第三次循坏比较最大值=6,输出最大值。所有第二次循环比较只剩下5,2

所以最后排序结果为:2,5,6,7,9

最后是小编为大家实现的代码

package Array;
/*
        冒泡排序算法
 */

public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = {9,5,7,6,2};
        int count = 0;
        for(int i = arr.length-1;i >0; i--){//654321
            for (int j = 0;j<i;j++){//012345
                count++;
                if (arr[j]>arr[j+1]) {
                    int temp;
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        System.out.println("比较次数"+ count);
        for (int i = 0; i < arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

这篇关于JAVA冒泡排序手把手教会你的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!