黑马程序员技术交流社区
标题:
冒泡排序对这串数字字符串按照从小到大排序
[打印本页]
作者:
张狮子
时间:
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