黑马程序员技术交流社区

标题: 冒泡排序对这串数字字符串按照从小到大排序 [打印本页]

作者: 张狮子    时间: 2016-5-5 19:18
标题: 冒泡排序对这串数字字符串按照从小到大排序
package com.heima.job13;


public class Test2 {

        /**
         * 2.分析以下需求,并用代码实现:
                (1)有一个数字字符串"25 11 -6 20 102 9",数字之间
       
        用空格间隔       
                (2)利用冒泡排序对这串数字按照从小到大排序,生成
       
        一个数值有序的字符串"-6 9 11 20 25 102"
                (3)提示:用String类提供的split方法(用" "(空格)作
       
        为split方法的参数来切割),然后生成对应的数字字符串数组
         */
        public static void main(String[] args) {
               
                String num= "25 11 -6 20 102 9";
                String[] s= num.split(" ");
                int[] arr = new int[s.length];
                for (int i = 0; i < s.length; i++) {
                        arr[i] =Integer.parseInt(s[i]);
                }
               
                String st=toString(bubbleSort(arr));
                System.out.println(st);
               
        }
        public static String toString(int[] arr){
                if(arr==null){
                       
                        return "null";
                }else if(arr.length==-1) {
                        return "[]";
                }else {
                        String s = "";
                        for (int i = 0; i < arr.length; i++) {
                                if(i==arr.length-1){
                                        s+=arr[i];
                                }else{
                                s+=arr[i]+" ";
                                }
                        }
                        return s;
                }
        }
        public static void swap(int []arr,int a,int b)
        {
                      int temp = arr[a];
                                      arr[a] = arr[b];
                                      arr[b] = temp;
                }
        public static int[] bubbleSort(int []arr)
                {
                                for(int x=0;x<arr.length-1;x++)
                                {
                                          for(int y=0;y<arr.length-x-1;y++)
                                          {
                                              if(arr[y]>arr[y+1])       
                                         {
                                                         swap(arr,y,y+1);
                                                }
                                       }
                                 
                                  }
                                return arr;
                         
                        }       
}

作者: NeXtyin    时间: 2016-5-5 19:36
不错不错!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2