0
public class Quicksort{
private int[] numbers;
private int number;
public void sort(int[] values) {// check for empty or null array
    if (values ==null || values.length==0){
        return;
     }
     this.numbers = values;
     number = values.length;
     quicksort(0, number - 1);
}

Javaでこのようなクイックソートアルゴリズムを使用したいのですが、行番号2に示されているように、整数配列だけでなく、異なる入力を使用しますprivate int[] numbers

ここでの一般的な質問は、アルゴリズムに異なる入力を「送信」する方法ですか? 明らかな答えは、次のような異なる入力データごとに複数のポリモーフィズム メソッドを作成することです。

public void(int [] inArray{
   do something
}
public void (char[] inArray){
   do something else.....
} etc etc

または、ポリモーフィズムを使用して、 などの異なる入力で複数回宣言し ますpublic void sort(int[] values)が 、上記のすべては、適切なプログラミングではなく、コードが多すぎます (複数の変数の宣言など:-(だから、「指示」するために何か(おそらくテンプレート?) が必要です)多くの異なる種類の入力を「受け入れ」、明らかに同じ種類のデータを出力するクラス...public void sort(char[] values)public void sort(double[] values)

4

1 に答える 1

2

Comparableインターフェイスを使いたい

詳細については、こちらを参照してください。

http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html

于 2013-11-10T10:12:36.543 に答える