排序方法排序不正确
Sorting Method Not Sorting Properly
此方法应该在选定文件后按字母顺序对给定文件中的单词进行排序。一切正常,只是没有正确排序。输入文件显示为 "kundu is a man kundu man",但无论我尝试什么,我都会得到“[is, kundu, a, man, kundu, man]”。
我尝试去掉“-1”和“+1”,但没有任何帮助。
private String[] selectionSort(String[] stringArray)
{
for(int j = 0; j < stringArray.length - 1; j++)
{
int min = j;
for(int k = j + 1; k < stringArray.length; k++)
{
if(stringArray[k].compareTo(stringArray[min]) < 0)
min = k;
swap(stringArray, j, min); //this method swaps the words
// by using a temp
//swap(intArray, j, min);
}
}
return stringArray;
}
private void swap(String [] stringArray, int i, int j) //swap method
{
String temp = stringArray[i];
stringArray[i] = stringArray [j];
stringArray[j] = temp;
}
您的 swap
调用应该在 内部循环之后。喜欢,
private String[] selectionSort(String[] stringArray) {
for (int j = 0; j < stringArray.length - 1; j++) {
int min = j;
for (int k = j + 1; k < stringArray.length; k++) {
if (stringArray[k].compareTo(stringArray[min]) < 0) {
min = k;
}
}
swap(stringArray, j, min);
}
return stringArray;
}
之后,在没有其他更改和您的输入的情况下,我得到了
[a, is, kundu, kundu, man, man]
此方法应该在选定文件后按字母顺序对给定文件中的单词进行排序。一切正常,只是没有正确排序。输入文件显示为 "kundu is a man kundu man",但无论我尝试什么,我都会得到“[is, kundu, a, man, kundu, man]”。
我尝试去掉“-1”和“+1”,但没有任何帮助。
private String[] selectionSort(String[] stringArray)
{
for(int j = 0; j < stringArray.length - 1; j++)
{
int min = j;
for(int k = j + 1; k < stringArray.length; k++)
{
if(stringArray[k].compareTo(stringArray[min]) < 0)
min = k;
swap(stringArray, j, min); //this method swaps the words
// by using a temp
//swap(intArray, j, min);
}
}
return stringArray;
}
private void swap(String [] stringArray, int i, int j) //swap method
{
String temp = stringArray[i];
stringArray[i] = stringArray [j];
stringArray[j] = temp;
}
您的 swap
调用应该在 内部循环之后。喜欢,
private String[] selectionSort(String[] stringArray) {
for (int j = 0; j < stringArray.length - 1; j++) {
int min = j;
for (int k = j + 1; k < stringArray.length; k++) {
if (stringArray[k].compareTo(stringArray[min]) < 0) {
min = k;
}
}
swap(stringArray, j, min);
}
return stringArray;
}
之后,在没有其他更改和您的输入的情况下,我得到了
[a, is, kundu, kundu, man, man]