import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class StringCmp {
static String[] strs = null;
public static void order(String[] strs){
for(int i = 0 ; i < strs.length - 1; i++){
for(int j = 0 ; j < strs.length - 1 - i ; j++ ){
if(compare(strs[j],strs[j+1])){
exchange(j,j+1);
}
}
}
}
public static boolean compare(String str1 , String str2){
char[] chars1 = str1.toCharArray();
char[] chars2 = str2.toCharArray();
int lenMin = Math.min(chars1.length, chars2.length);
for(int i = 0 ; i < lenMin ; i++){
int charToSmall1 = (chars1[i] > 96)?chars1[i] - 96: chars1[i] - 64;
int charToSmall2 = (chars2[i] > 96)?chars2[i] -96: chars2[i] - 64;
if(charToSmall1 == charToSmall2){
if(chars1[i] > chars2[i]){
return true;
}else if(chars1[i] < chars2[i]){
return false;
}else{
continue;
}
}else{
if(charToSmall1 > charToSmall2){
return true;
}else{
return false;
}
}
}
return false;
}
public static void exchange(int i , int j){
String tmp;
tmp = strs[i];
strs[i] = strs[j];
strs[j] = tmp;
}
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
strs = br.readLine().split(" ");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(String tmp : strs){
System.out.print(tmp + " ");
}
System.out.println();
order(strs);
for(String tmp : strs){
System.out.print(tmp + " ");
}
}
}
对多个字符串进行排序,用Java语言实现,不能使用现有的类
最新推荐文章于 2023-05-09 11:47:23 发布