您的位置:首页 > 其它

已知字母序列【d, g, e, c, f, b, o, a】,请实现一个函数针对输入的一组字符串 input[] = {"bed", "dog", "dear", "eye"},按照字母顺序排序并打印

2015-09-09 17:19 766 查看
<pre name="code" class="java">package paixu;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;

public class MyTest {

public static void main(String[] args) {
String[] inputs = {"bed", "dog","dear", "eye"};
new MyTest().sort(inputs);
System.out.println(inputs);

}

public void sort(String string[]){
for(int i=0;i<string.length-1;i++){
for(int j=i;j<string.length-1;j++)
if(paixu(string[i], string[j+1])>0){
String s=string[j];
string[j]=string[j+1];
string[j+1]=s;
}
}
}

public int paixu(String string1,String string2){
//排序的规则
HashMap<Character, Integer> map=new HashMap<Character, Integer>();
map.put('d', -8);
map.put('g', -7);
map.put('e', -6);
map.put('c', -5);
map.put('f', -4);
map.put('b', -3);
map.put('o', -2);
map.put('a', -1);

//两个字符串进行排序
for(int i=0;i<string1.length()&&i<string2.length();i++){
int a=map.get(string1.charAt(i));
int b=map.get(string2.charAt(i));
if(a==b)
continue;
else {
return a-b;
}
}
return string1.length()-string2.length();
}

}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: