33,008
社区成员
发帖
与我相关
我的任务
分享
#define N 3
int data[8]={1,2,3,
1,5,6,
7,9};
int *g_nResult;
int **g_nSet;
int g_nSizeSet[N]={3,3,2};//存储每个数组的大小
void Recu(int n)
{
if(n==N){
for(int i=0;i<N;i++)
printf("%d",g_nResult[i]);
printf("\n");
return;
}
for(int k=0;k<g_nSizeSet[n];k++){
g_nResult[n]=g_nSet[n][k];
Recu(n+1);
}
};
int main()
{
g_nResult=new int[N];
g_nSet=new int*[N];
int nCount=0;
for(int i=0;i<N;i++){
g_nSet[i]=new int[g_nSizeSet[i]];
memcpy(g_nSet[i],data+nCount,sizeof(int)*g_nSizeSet[i]);
nCount+=g_nSizeSet[i];
}
Recu(0);
return 0;
}