java面试题——基础算法入门01《冒泡排序》

我马上大四,实力只能进一些小公司,对一些java的笔试题。开始复习一下。不多了。直接开始了。

      什么是排序?排序就是将一个无序序列按某个规则进行有序的排序。

      冒泡的排序的本质是?本质就是交换,即每次交换的方式 都是把当前剩余元素的最大值移动到一端。

当剩余元素为0时,就排序结束。(平常的理解为剩下最后一个元素就不用比较了。)

        这里就不用画图详细解释了。我附上代码。大家自己纸上走一遍。就理解了。

public class Bubble {
    public static void main(String[] args) {
        int  []array= {4,10,8,6,7};
        for(int i=0;i<array.length;i++) {//这里我们排序的是n-1趟排序

//为什么是n-1趟?比如这里是5个数,我们每一趟都当前的最大的数排列在一端。最后一趟就剩下一个一个数了。你就没有必要排序。
                for(int j=0;j<array.length-i-1;j++) {//每次排序都是:第i趟都是从array[0]到array[array.length-i-1]都与他们下一个数进行比较的。
                    if(array[j]>array[j+1]) {
                            int temp=array[j];
                            array[j]=array[j+1];
                            array[j+1]=temp;
                    }
                }
        }
        for(int item:array) {
                System.out.println(item);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/ZSS1753936255/article/details/81671869