征求排序算法,分不够可以加哦!

bandt 2005-11-14 10:33:39
排序规则:首先按照字母顺序(降序),字母相同则按照数字大小排序(降序)。
例如:
排序数据为:
GB/T32.1-1988_螺栓 M8×35-8.8-Ep.ZnCt.P
GB/T32.1-1998_螺栓 M12×65-8.8-Ep.ZnCt.p
GB5782-1988_螺栓 M8×45-8.8-Ep.ZnCt.p
JB999-1977_螺栓 M18×1.5×45
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
believefym 2005-11-14
  • 打赏
  • 举报
回复
自己定义一个comparator,确定compare方法
bandt 2005-11-14
  • 打赏
  • 举报
回复
如果自己来写方法实现呢?
believefym 2005-11-14
  • 打赏
  • 举报
回复
降序用 Arrays.sort(str,Collections.reverseOrder());
shine333 2005-11-14
  • 打赏
  • 举报
回复
对,这两个sort一般都是merge sort

但是如果个数较少的话(n<7),好像是冒泡
believefym 2005-11-14
  • 打赏
  • 举报
回复
String[]str = {"GB/T32.1-1988_螺栓 M8×35-8.8-Ep.ZnCt.P",
"GB/T32.1-1998_螺栓 M12×65-8.8-Ep.ZnCt.p",
"GB5782-1988_螺栓 M8×45-8.8-Ep.ZnCt.p",
"JB999-1977_螺栓 M18×1.5×45",};
Arrays.sort(str);
System.out.println(Arrays.toString(str).replaceAll(",",",\n"));

如果存在Collection中的话用Collections.sort()排序,字符串默认排序,没有什么特别的
bandt 2005-11-14
  • 打赏
  • 举报
回复
我的意思,就是不要用java任何的关于数组排序的方法,自己写个算法来实现要求的排序!
Mervyn 2005-11-14
  • 打赏
  • 举报
回复
你啥意思
bandt 2005-11-14
  • 打赏
  • 举报
回复
如果连接口都不用呢?

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧