課題で与えられた擬似コードをコーディングしようとしていますが、現在行っているコーディング部分は課題の一部ではなく、楽しみのためだけのものです。
擬似コードの一部には、「配列の要素を交換する」と書かれています。私のコードでは、これを2か所で行う必要があります。ただし、1つのメソッドのみを作成する方法、つまり、メソッドを交換して実行するたびに使用した余分なコード行を保存する別のメソッドを作成する方法があるかどうか疑問に思いました。
問題は、これ以外の新しいメソッドを作成する場合、配列をパラメーターとして送信して取得する必要があることです。これは効率が低下するのではないかと心配しています(明らかに大したことではありません)。ここですが、私は将来のより大きなプロジェクトのために学ぼうとしています)。
これは、繰り返される「swap」メソッド行を含む私のコードです。
public int[] myAlgorithm(int[] arrayOfInts, int size){
boolean done = true;
int j= 0;
while (j <= n-2){
if (arrayOfInts[j] > arrayOfInts[j+1]){
int tempHolder = arrayOfInts[j];
arrayOfInts[j] = arrayOfInts[j+1];
arrayOfInts[j+1] = tempHolder;
done = false;
}
j = j + 1;
}
j = size - 1;
while (j >= 1){
if (arrayOfInts[j] <= arrayOfInts[j-1]){
int tempHolder = arrayOfInts[j];
arrayOfInts[j] = arrayOfInts[j+1];
arrayOfInts[j+1] = tempHolder;
done = false;
}
j--;
}
if (!done)
myAlgorithm(arrayOfInts, size)
else
return arrayOfInts;
}