#include<stdio.h>
#include<conio.h>
main()
{
int i,j,k,x,y,n=4,a[]={1,2,3,4}; //n is the length of the array
for(i=0;i<n;i++)
{
for(k=0;k<(n-2);k++)
{
for(j=(n-1-k);j>=1;j--)
{
y=a[j];
a[j]=a[j-1];
a[j-1]=y;
for(x=0;x<n;x++)
{
printf("%d",a[x]);
}
printf("\t");
}
}
}
getch();
}
내가 계산 순열
답변
변경이 내 프로그램에서 버그를 알아낼 수 없습니다 : 이것에
for(k=0;k<(n-2);k++)
을 :
또한for(k=0;k<(n-1);k++)
, 더 자세한 설명 변수 이름을 사용하려고 ..
. 24 개의 결과가 24 개의 올바른 결과를 의미하지는 않습니다. –
정확하게. 알고리즘은'n! '시간을 분명히 출력하지 않기 때문에 잘못되었습니다. – avakar
나는 asker의 알고리즘이 정확하지 않다는 것을 알고 있지만 정확성에 대해서는 묻지 않았다. 그는 우리에게 24 개의 순열 대신 20 개의 "버그"를 발견하도록 요청했습니다. 내가 아는 한, 그는 그 특별한 알고리즘을 사용하기를 원하는 아주 좋은 이유가있다. –
약간의 추가 자료 (나는 술에 취해있다. 내일은 다시 편집해야 할 것이므로 소금 한 알씩 가져 가야한다) :
크 누스와 세지윅은 모두 이전에 순열을 다루었습니다. 당신이 N http://www.princeton.edu/~rblee/ELE572Papers/p137-sedgewick.pdf
N에 대한 항목 :
은 보라! permutations, 그래서 13 항목에 대해 이미 6 227 020 800 순열이 있습니다. 따라서 많은 수의 항목에 대한 모든 순열을 만드는 것은 불가능 해집니다.
순열, 순위 지정/단점 생성 및 증분 변경 방법을 만드는 알고리즘은 기본적으로 두 세트가 있습니다.
랭킹/랭킹을 사용하면 두 가지 방법으로 순위를 매기거나 올릴 수 있습니다.
순위는 genereration 순서에있는 순열의 위치를 줄 것이다.
Unrank은 정수 m에있는 순열을 제공합니다. 0> = m < = n! 및 n 순열을 만들려는 항목의 양.
이 같은 경우 다양한 유용하다 : 임의의 순열을 생성
(당신은 0에서 n으로 난수를 생성하고 (난수) unrank 전화!) 및 위치 난수의 순열을 얻을.
다음 순열 얻기 : 순열 p를가지고 순위 (p)를 호출 한 다음 순위를 매기 지 않음 (순위 +1).
증분 변경 방법 :
이 기본적으로 교환을 통해 작동 및 순위/unranking보다 더 효율적입니다 : 위키 피 디아에서
, 정렬되지 않은 세대 :
function permutation(k, s) {
for j = 2 to length(s) {
swap s[(k mod j) + 1] with s[j]; // note that our array is indexed starting at 1
k := k/j; // integer division cuts off the remainder
}
return s;
}
나는이 점을 모르는 그러나 std :: next_permutation 구현을 읽으려고 시도 할 수 있습니다. 루프로 모든 순열을 생성하는 것은 다소 까다 롭지 만 재귀를 사용하는 것이 더 좋습니다.
+1, C에서 초보자가 iterators를 사용하는 템플릿 기반 C++ 코드를 파싱 할 것이라고는 생각하지 않지만. 그러나'next_permutation'에 대한 좋은 기사가 있습니다 : http://marknelson.us/2002/03/01/next-permutation/ – avakar
- 1. 객관적인 C - 중복의 순열 계산
- 2. 순열 생성
- 3. 재귀 순열
- 4. 엑셀의 순열
- 5. 순열 문제
- 6. C++ 순열
- 7. 파이썬의 순열 2.5.2
- 8. Python 순열 코드
- 9. 질문 스택 순열
- 10. 고정 길이의 문자열 순열
- 11. 파이썬에서 단어 조합하기 (순열?)
- 12. 파이썬에서 가능한리스트들의 모든 순열
- 13. 다른 길이 순열
- 14. 다양한 크기의 순열
- 15. PHP 정리 순열 배열
- 16. 더 빠른 순열 생성기
- 17. 오라클 - 문자열 조합 순열
- 18. 일부 고정 숫자가있는 순열
- 19. 순열 반전 수 찾기
- 20. GWT 브라우저 용 순열
- 21. 그래프 및 순열 문제
- 22. SQL 쿼리 - 문자열 순열
- 23. 재귀가없는 문자열의 순열
- 24. 가능한 모든 순열 생성하기
- 25. 문자열 순열 만들기
- 26. 요소가없는 곳에 순열 찾기
- 27. MySQL - 모든 순열 표시?
- 28. 파이썬 순열 생성기 퍼즐
- 29. 순열/조합 접두어와 접미사 생성
- 30. R : I 함수를 찾고 있어요 모든 순열
질문을 제출했을 때 문제가 발생했다고 생각합니다. 서식이 엉망이고 코드가 없습니다. 질문을 해결할 수 있습니까? – Lucas
그래, 맞춰봐. –
버그가 뭔지 설명해 주겠니? – Toad