gpt4 book ai didi

java - 如何对字符串 ArrayList 进行合并排序

转载 作者:行者123 更新时间:2023-11-30 04:40:49 25 4
gpt4 key购买 nike

所以过去几天我一直在试图找出这段代码,但一无所获。这是我得到的最远的结果,但现在它不显示最终的排序数组,并且我尝试添加到 return merged 语句之后的任何代码显然是无法访问的:/

import java.util.*;

public class MergeTestStringArray
{


public static void main(String[] args)
{
ArrayList< String > array = new ArrayList< String >();

array.add("John");
array.add("Victor");
array.add("Joe");
array.add("Jackson");
array.add("Anthony");
array.add("Angelina");
array.add("George");
array.add("Paul");

ArrayList< String > sortedArray = new ArrayList< String >();

sortedArray = mergeSort(array);

for (int i = 0; i < sortedArray.size(); i++)
{
System.out.println(" " + sortedArray.get(i) );
}
}

public static ArrayList< String > mergeSort(ArrayList< String > list)
{
ArrayList < String > sorted = new ArrayList< String >();
if (list.size() == 1)
{
sorted = list;
} else {
int mid1 = list.size() /2;

ArrayList< String > left = new ArrayList< String >();
ArrayList< String > right = new ArrayList< String >();

for ( int x = 0; x < mid1; x++) {
left.add(list.get(x));

}
for ( int x = mid1; x < list.size(); x++) {
right.add(list.get(x));
}

System.out.println("Left Array: " + left);
System.out.println("Right Array)" + right);

mergeSort(left);
mergeSort(right);
mergeArray(left,right);
}

return sorted;
}

private static ArrayList< String > mergeArray(ArrayList< String > left, ArrayList< String > right)
{
ArrayList< String > merged = new ArrayList< String >();

int i = 0;
int l = 0;
int r = 0;

while (l < left.size() && r < right.size())
{
if ((left.get(l)).compareTo(right.get(r)) < 0)
{
merged.add(left.get(l));
l++;
}
else
{
merged.add(right.get(r));
r++;
}

i++;
}


while (l < left.size())
{
merged.add(left.get(l));
l++;
i++;
}

// Append rest of the values in the right half, if any...
while (r < right.size())
{
merged.add(right.get(r));
r++;
i++;
}

return merged;


}

}

最佳答案

不确定您的问题是什么,但是.. return 语句之后的语句通常无法访问。一旦函数到达 return 语句,它将存在该函数并返回该 return 语句处的值。

关于java - 如何对字符串 ArrayList 进行合并排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12361814/

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