我有一個數組,並且必須使用插入排序對它們進行排序。我試圖使用compareTo方法來遍歷數組,看看更大。我遇到了一個問題,因爲我試圖引用一個顯然沒有工作的字符串的數組索引(compareTo(a [key]))。java插入排序遞歸
任何建議或提示如何做到這一點,將不勝感激。
這是我到目前爲止。這是一個好的開始?還是從正確的方向開始?
public void insertionSort()
{
insertionSort(a.length-1);
}
private void insertionSort(int n)
{
String temp;
if(n <= 1)
{
//Do nothing, easiest case
}
else
{
for(int i = 1; i < a.length; i++)
{
int j;
String key = a[i];
while((j >= 0) && (a[i].compareTo(a[key]) > 0))
{
a[i+1] = a[i];
j--;
}
a[i+1] = key;
}
insertionSort(n-1);
}
}
「我有陣列的串」 - 你的意思是「字符串數組」,對不對? –
那是正確的,我改變了它 – alexthefourth
j應該在某處之前初始化while循環 – smas