0
以下是沒有作業。我只是想寫我自己的排列代碼。我有一個想法,但我在編寫這個想法時遇到問題。交換特定數組元素的問題
作爲示例的輸入是myArray={1,2,3};
然後,輸出應該是:
1 2 3
2 1 3
2 3 1
3 2 1
3 1 2
1 3 2
我想出它通過切換與第二第一元件是可能的,然後與第三開關第二(但是不完全可能,但我知道我需要這個)。
這就是爲什麼我的問題是如何在Java中做到這一點?
我有1 2 3
,我想用第二個開關元件,所以我得到2 1 3
。打印這個。現在我想用第三個元素切換第二個元素,我得到2 3 1
,打印它。重複n!
次,其中n是myArray
長度。
我試着用下面的代碼來做到這一點,但它似乎像我遠離它:(
public class Test{
public static void main(String[] args){
int[] myArray = {1,2,3};
for(int x=0; x<6; x++){
for(int i=0; i<myArray.length-1; i++){
int temp=myArray[i];
myArray[i]=myArray[i+1];
myArray[i+1]=temp;
}
for(int i=0; i<myArray.length; i++){
System.out.print(myArray[i]+" ");
}
System.out.println("");
}
}
}
Output:
2 3 1
3 1 2
1 2 3
2 3 1
3 1 2
1 2 3
首先您寧願在每次交換後打印。 – maszter
你看過這個:http://stackoverflow.com/questions/2920315/permutation-of-array?第二個答案應該有所幫助。 – quackenator