0
다음은 숙제가 아닙니다. 난 그냥 내 자신의 순열 코드를 작성하려고 해요. 아이디어가 있지만 코드로이 아이디어를 작성하는 데 문제가 있습니다.특정 배열 요소 교환 문제
예에서의 입력은 다음에 출력 될 것으로 예상되는 myArray={1,2,3};
이다
1 2 3
2 1 3
2 3 1
3 2 1
3 1 2
1 3 2
제가 그것이 제와 제 소자를 스위칭함으로써 가능 파악하고 있지만 (제 3과 제되지 전환 전적으로 가능하지만, 나는 이것이 필요하다는 것을 알고있다).
그래서 내 질문은 Java에서 어떻게 할 수 있습니까?
나는 1 2 3
을 가지고 있으며, 첫 번째 요소를 두 번째로 바꾸고 싶습니다. 따라서 2 1 3
이 나옵니다. 이것을 인쇄하십시오. 이제 세 번째 요소로 두 번째 요소를 전환하려면 2 3 1
을 인쇄하십시오. 길이가 myArray
길이 인 n!
번을 반복하십시오.
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