Java中的冒泡排序

      冒泡排序法是一种简单的排序算法,它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。

一、冒泡排序的原理:

1、排序时,先通过元素进行比较找出最大数,如果是升序就放在最后,降序就放在首位。

2、多少个数进行排序,外层for循环就循环多少次。

3、内层for循环表示比较的次数。例如:有6个数排序:2,5,6,7,8,4。

(1)找出6个数中最大的数,我们就需要比较5次     //6-1

(2)找出6个数中第二打的数,我们就需要比较4次。//6-2

   ......直到最后我们找到最小的数,这时比较的次数就是排序数的个数-找第几大的数。

二、冒泡排序的语法

升序:

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

                     for (int i = 1; i < a.length; i++) {         //外层for循环,表示循环9次

                          for (int j = 1; j <=a.length-i; j++) {   //内层for循环,表示找第几个数所需要比较的次数,如找第一个数需要比较5次,找第二个数需要4次......

                                     if(a[j-1]>a[j]){             //两个元素进行判断,实现两个数调换位置。

                                            int tmp=a[j-1];      //定义tmp用于临时存放两元素中最大的那个。

                                             a[j-1]=a[j];     //a数组中前面的数赋值小的那个。

                                              a[j]=tmp;     //a数组中后面的数赋值tmp的值,实现升序排列。

                                      }

                            }

                       }

降序:

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

for (int i = 1; i < a.length; i++) {

               for (int j = 1; j < a.length-i; j++) {

                     if(b[j-1]<b[j]){             //判断两个元素的值大小,实现两个元素的值互换。

                          int tmp=b[j-1];     //定义一个tmp变量存放较小的值

                               b[j-1]=b[j];        //把较大的值赋给前面的元素

                                b[j]=tmp;         //把tmp中的值赋给后面的元素,实现降序排列。

                      }

             }

   }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容