求大神全排列递归方法解决
9重循环72个不等式写的实在是跪了求大神能递归解决
#include <stdio.h>
void permutation( int* pData, int begin, int end );
void print( int* pData, int end );
void swap( int *pData, int left, int right );
int main() {
int data = {1,2,3,4,5};
permutation( data, 0, 4 );
}
void permutation( int* pData, int begin, int end ) {
if( begin == end ) print( pData, end );
else {
int i = begin;
for( ; i <= end; ++i ) {
swap( pData, begin, i );
permutation( pData, begin+1, end );
swap( pData, begin, i );
}
}
}
void print( int* pData, int end ) {
int i;
for( i=0;i <= end; ++i ) printf("%d ", pData);
printf("\n");
}
void swap( int *pData, int left, int right ) {
int tmp = pData;
pData = pData;
pData = tmp;
} 仰望天上的光 发表于 2014-11-10 21:53
谢谢楼主答复! {:9_240:}学C的时候就觉得递归好难 哦
页:
[1]