/**
对下面数据进行排序
-5 22 3 9 26 7 122 300 56 8 12 20
思路:
1,对字符串来按照空格截取,转换成字符数组。
2,对数组中的类型来进行转换。
3,对int[]进行排序。
4,转换成字符数组显示。
*/
import java.util.Arrays;
class SrotStringArrtyToInt
{
private static final String KG = " ";
public static void main(String[] args)
{
String s = "-5 22 3 9 26 7 122 300 56 8 12 20";
String [] s_arr = splitFonction(s);
int [] s_int = arrToInt(s_arr);
show(s_int);
SrotArrtyFonction(s_int);
//SrotArrty(s_int);
show(s_int);
}
//将整数数组来按照选择排序
public static void SrotArrtyFonction(int [] srot_i){
for (int i = 0; i < srot_i.length ;i++ )
{
for (int j = i+1;j< srot_i.length ;j++ )
{
if(srot_i[i]>srot_i[j]){
top(srot_i,i,j);
}
}
}
}
//将String数组转换为int[]类型数组
public static int[] arrToInt(String [] s_arr){
int [] i_arr = new int[s_arr.length];
for (int i = 0;i<s_arr.length ;i++ )
{
i_arr[i] = Integer.parseInt(s_arr[i]);
}
return i_arr;
}
//调用Arrays方法来对数据进行排序
public static void SrotArrty(int [] srotArrty){
Arrays.srot(srotArrty);
}
//置换位置
public static void top(int [] s,int a,int b){
int temp = s[a];
s[a] = s[b];
s[b] = temp;
}
//打印输出格式
public static void show(int [] s){
System.out.print("[");
for (int i = 0; i < s.length ;i++ )
{
if(i < s.length-1)
System.out.print(s[i]+KG);
else
System.out.print(s[i]+"]");
}
System.out.println();
}
//按照指定字符串截取
public static String[] splitFonction(String s){
String[] st_arr = s.split(KG);
return st_arr;
}
}
排序思路:
- 11,5,99,12,20,20,30
- 11和5比较--> 5,11
- 11和99比较 --> 5,11,99
- 11和12比较 --> 5,11,12,99。以此类推;
运行结果:
[-5 22 3 9 26 7 122 300 56 8 12 20]
[-5 3 7 8 9 12 20 22 26 56 122 300]