gpt4 book ai didi

java - 对包含数字和字符串元素的字符串数组进行快速排序

转载 作者:行者123 更新时间:2023-12-02 00:22:00 27 4
gpt4 key购买 nike

我正在做作业,我需要使用快速排序来对字符串数组进行排序,以及组合数字和字符串的数组中的元素。例如

String s[];

s[0]="172,19,Nina";
s[1]="178,18,Apple";
s[2]="178,18,Alex";

排序后应该是

s[0]=172,19,Nina
s[1]=178,18,Alex
s[2]=178,18,Apple

我想我应该先将所有字符串拆分为数字和字符串,然后排序 172,178,178,然后排序 19 18 18,最后排序 Nina Apple Alex??

最好的方法是什么?

最佳答案

如果所有数字都具有相同的字符数,则字典顺序与数字顺序相同,因此您可以直接比较字符串。

否则,您应该拆分字符串并将它们转换为实现 Comparable 接口(interface)的适当对象:

public class Record implements Comparable<Record> {
private int firstNumber;
private int secondNumber;
private String name;

...

@Override
public int compareTo(Record r) {
int result = Integer.valueOf(firstNumber).compareTo(Integer.valueOf(r.firstNumber);
if (result != 0) {
result = Integer.valueOf(secondNumber).compareTo(Integer.valueOf(r.secondNumber);
}
if (result != 0) {
result = name.compareTo(r.name);
}
return result;
}
}

关于java - 对包含数字和字符串元素的字符串数组进行快速排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10773684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com