gpt4 book ai didi

java - 按字母顺序对数组排序的问题

转载 作者:行者123 更新时间:2023-12-01 20:52:16 25 4
gpt4 key购买 nike

我目前正在尝试按人口字母顺序对一组国家/地区进行排序,但在排序时遇到问题,因为最后一个国家/地区被放置在数组的开头,从而搞乱了排序。除此之外它还有效。假设该数组具有以下值 =“阿富汗”、“巴西”、“波斯尼亚和黑塞哥维那”、“赞比亚”、“土耳其”。

这是我用于排序的代码:

int i;
int j;
String temp;


for(i=0;i<length;i++){
for(j=1;j<length;j++){
if(countryList[i].compareToIgnoreCase(countryList[j])<0)
{
temp=countryList[i];
countryList[i]=countryList[j];
countryList[j]=temp;
}
} //
}

最佳答案

正如已经提到的,问题在于内部 for 循环。 j 必须设置为 i + 1

还有一个问题:你的比较方式是错误的。按字母升序排序:

for (i = 0; i < length; i++) {
for (j = i + 1; j < length; j++) {
if (countryList[i].compareToIgnoreCase(countryList[j]) > 0) { // >0 instead of <0
temp = countryList[i];
countryList[i] = countryList[j];
countryList[j] = temp;
}
}
}

但是由于插入排序相对较慢,我建议您使用Arrays.sort

关于java - 按字母顺序对数组排序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43058223/

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