任意长度数组的冒泡排序

2019-07-11  本文已影响0人  陆月天

废话少说;开始走起,先来5个的

public class Sort{

            //直接写方法

            public static void sort (){

                    Scanner  input = new  Scanner(System.in)

                        int[]  arr  = new int[5];

                        //输入

                         System.out.println("输入你要排序的5位数");

                        for(int i = 0 ; i < arr.length-1; i++){

                            arr[i] =  input.nextInt();

                             }

                        // 比吧!

                        for(int i = 0 ; i<arr.length-1; i++){

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

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

                                            int temp = arr[j];

                                             arr[j] = arr[j+1];

                                               arr[j+1] = temp;

                                            } 

                                    }

                            }

                            System.out.println("从小到大的排序顺序为:")

                            // 疯狂输出

                            for (int i = 0 ; i<arr.length-1;i++){

                            System.out.print(arr[i]+",");

                            }

            }

            public static  void main (String[] args){

                Sort.sort();

                  }

}


写到这里,顺便介绍一下不使用第三变量交换两个数位置的方法。

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

                                                if (arr[j]<arr[j+1]){

                                                arr[j] = arr[j]+arr[j+1];

                                                arr[j+1]  =  arr[j] - arr[j+1];

                                                arr[j] = arr[j] - arr[j+1];

                                                    }

                                            }


好了,现在来说说,怎样把固定的数组变成可变的任意长度数组,就是在控制台上随便输入,几个数都能比较,然后排序呢? 

我说实话,我不知道!!!我不会!我骄傲了吗?

上一篇下一篇

猜你喜欢

热点阅读