public class MergeSort
{
/**
* @param a Array to be sorted.
* @param n Last element to be sorted.
* @return void.
*/
public static <T extends Comparable<T>> void sort(T[] a, int n)
{
}
/**
* @param inp Input Array.
* @param out Output Array.
* @param first First index.
* @param mid Middle index.
* @param last Last index.
* @return void.
*/
private static <T extends Comparable<T>>
void merge(T[] inp, T[] out, int first, int mid, int last)
{
}
}
大家好,我需要一些幫助。問題:T [] b =(T [])new Object [n];
以上是我的教授給我們的提綱。我的問題是我想在sort方法中創建一個T [] b數組,所以當我將它們傳遞給merge方法時,我可以重用這兩個數組'a'和'b'。而不是每次我將它稱爲合併時創建一個臨時數組。我試過
T[] b = (T[]) new Object[n];
和類將編譯,但是當我打電話的那種方法,從我的主類整數數組我得到:
java.lang.ClassCastException:[Ljava.lang 。目的;不能轉換爲[Ljava.lang.Comparable;
我該怎麼辦? 任何幫助都會大大降低,如果我錯過了任何地方的答案,我的apoligies。我一直在尋找大部分時間。謝謝!
請務必接受丹尼爾的回答。它促進了對問題的進一步回答,並給你一些業力! – Amy 2011-04-07 20:02:58