/** 对下面数据进行排序 -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]