根据指定的数组顺序排序(可直接用 代码)

来源:互联网 发布:胡为乎遑遑欲何之的乎 编辑:程序博客网 时间:2024/06/05 07:23

说明:

需提供一个数组order作为排序依据,以及一个待排序数组

无返回值,会把待排序数组按要求排序

private static void getOrder(String[] a,String[] order) {for(int i=0;i<a.length-1;i++){for(int j=i;j<a.length;j++){int qian = 0;int hou = 0;for(int k=0;k<order.length;k++){if(a[i].equals(order[k])){qian = k;}if(a[j].equals(order[k])){hou = k;}}if(hou <= qian){String lin = a[i];a[i] = a[j];a[j] = lin;}}}}
其中,测试如下:
String[] order = new String[]{"A*","A","B","C","D","E"};String[] a = new String[5];//期望A*A*Aa[0] = "B";a[1] = "A*";a[2] = "A";a[3] = "A*";a[4] = "B";getOrder(a,order);

结果为:A*A*ABB

原理依据冒泡排序法

原创粉丝点击