美文网首页
Java之冒泡排序(Bubble Sort)

Java之冒泡排序(Bubble Sort)

作者: 小小弓长张 | 来源:发表于2019-01-24 11:42 被阅读0次

    原理是比较相邻的两个元素,将值大的元素交换到右端。

    思路:依次比较相邻的两个数,将小的数放在左面,大数放在右面。

    优点:每进行一次排序,排序次数就会少一次,因为每一次排序都会找出一个最大值。

    第一次:比较第一个和第二个数,将小数放在左面,大数放在右面,然后比较第二个和第三个数,将小数放在左面,大数放在右面,依次类推,直到比较到最后两个数,第一次排序完成。

    第一次排序完成后,最后一个数肯定是数组中最大的数,因此第二次排序的时候,最后一个数不参与比较。

    第二次排序完成后,倒数第二的数肯定是数组中倒数第二大的数,因此第三次排序的时候,最后两个数不参与比较。

    以此类推,每一次的排序次数减一,直到排序完成。

    结论:N个数字要进行排序,总共要进行N-1次排序,每一趟的排序次数N-1次,所以使用双重循环语句,外层循环控制循环多少次,内层循环控制每一趟的循环次数。列:

    for(int i = 0 ;i<array.length-1 ; i++){         //外层循环控制循环的次数

        for(int j = 0 ; j<array.length-1-i ; j++){         //内层循环控制每一次排序多少次

            //将排序好的数交换位置

              if(array[j]>array[j+1]) {

                        int temp = array[j];

                        array[j] = array[j+1];

                        array[j+1] = temp;

                }

           }

    }

    相关文章

      网友评论

          本文标题:Java之冒泡排序(Bubble Sort)

          本文链接:https://www.haomeiwen.com/subject/hedyjqtx.html