测试单词序列:cusmattribute5:applydate:hostserialno:productcode:clearbrno:banksystype:brno:tellerno:
terminalno:accbrno:bankdate:bankid:banktime:bankstatus:bankdealcode:bankdealmsg:
draccbrnolist:craccbrnolist:dracnolist:cracnolist:accamount:accamount1:accamount2:
accamount3:acctid:flowtype:workdate:agentserialno:tradestep:origapplydate:orighostserialno:
origbankdate:origbankid:crtdatetime:altdatetime:prduattribute1:prduattribute2:prduattribute3:
prduattribute4:prduattribute5:checkresult:cusmattribute1:cusmattribute2:cusmattribute3:
cusmattribute4:
排序后序列:
accamount1:accamount2:accamount3:accamount:accbrno:acctid:agentserialno:altdatetime:
applydate:bankdate:bankdealcode:bankdealmsg:bankid:bankstatus:banksystype:banktime:
brno:checkresult:clearbrno:craccbrnolist:cracnolist:crtdatetime:cusmattribute1:cusmattribute2:
cusmattribute3:cusmattribute4:cusmattribute5:draccbrnolist:dracnolist:flowtype:hostserialno:
origapplydate:origbankdate:origbankid:orighostserialno:prduattribute1:prduattribute2:
prduattribute3:prduattribute4:prduattribute5:productcode:tellerno:terminalno:tradestep:
workdate:
算法源码
private static String[] sort(String[] strarr) {
for (int i = 0; i < strarr.length; i++) {
for (int j = strarr.length - 1; j > i; j--) {
exchange(strarr, j, 0, 'd');
}
}
return strarr;
}
private static void exchange(String[] arr, int j, int level, char desc) {
if (!arr[j].equals(arr[j - 1])) {
String tmp;
char cur = 0;
char pre = 0;
if (level < arr[j].length()) {
cur = arr[j].charAt(level);
} else {
cur = arr[j].charAt(arr[j].length() - 1);
}
if (level < arr[j - 1].length()) {
pre = arr[j - 1].charAt(level);
} else {
pre = arr[j - 1].charAt(arr[j - 1].length() - 1);
}
switch (desc) {
case 'd':
if (cur < pre) {
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
} else if (cur == pre) {
exchange(arr, j, ++level, desc);
}
break;
case 'a':
if (cur > pre) {
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
} else if (cur == pre) {
exchange(arr, j, ++level, desc);
}
break;
}
}
}
String[] s = sb.toString().split(":");
for (int j = 0; j < s.length; j++) {
System.out.println(s[j]);
}
分享到:
相关推荐
我简单的绘制了一下排序算法的分类,蓝色字体的排序算法是我们用python3实现的,也是比较...作为最简单的排序算法之一,冒泡排序给我的感觉就像Abandon在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。
一个java的字符串冒泡算法 字符串排序 字符串排序 字符串排序
排序算法 |- |- |- 插入排序.js |- |- |- 堆排序.js |- |- |- 归并排序.js |- |- |- 快速排序.js |- |- |- 冒泡排序.js |- |- |- 选择排序.js |- LICENSE // MIT 许可 |- README.md // 项目介绍 排序算法 冒泡排序 /...
连续字符串的过滤后为大小写形式顺序并排序算法,排序后返回有效字符的长度和有效字符,字符顺序为大小写交替形式显示,连续字符串的过滤后为大小写形式顺序并排序算法,
冒泡排序 英语单词拼写检查算法 几个小的动态规划问题 Hash及常见操作 插入排序 归并排序 解析树ParseTree 队列 快排 基数排序 一些递归算法 选择排序 希尔排序 栈及常见应用 分治算法 堆排序 正则...
编写一个Java程序,实现冒泡排序算法对一个整数数组进行排序。 编写一个Java程序,读取一个文本文件,并统计文件中每个单词的出现次数。 编写一个Java程序,实现一个简单的计算器,可以进行加、减、乘、除运算。 ...
冒泡排序.txt 冒泡法改进.txt 动态计算网络最长最短路线.txt 十五人排序.txt 单循环链表.txt 单词倒转.txt 单链表.txt 单链表1.txt 单链表2.txt 单链表倒序.txt 单链表的处理全集.txt 双链表正排序.txt ...
原理讲解 4-4 正则表达式匹配-代码演示 第5章 基础算法之“排序类”排序是学生时代标志性的回忆,然而如何魔改“冒泡排序”、“选择排序”让很多看似与排序无关的题目迎刃而解是不是闻所未闻,还等什么呢? 5-1 冒泡...
CS210 - 算法和数据结构 I 数字 - 找到第 n 个素数 骰子 - 骰子对象,具有滚动和获取滚动值的方法。 - 掷骰子一百万次。 - 多次掷骰子并记录收到每个值的次数。...[冒泡排序.java](SortingAlgorithm