C再帰配列
1149 ワード
#include<iostream>
using namespace std;
/*
A[N] == A[n-1] A[N] A【N】
*/
void Swap(int& num1,int& num2)
{
int iTemp = 0;
iTemp = num1;
num1 = num2;
num2 = iTemp;
}
void PrintArray(int* piScr,int size)
{
for(int i = 0;i < size ;i++)
printf("%d",piScr[i]);
printf("
");
}
void PermArray(int* piScr, int iEndIndex,int size)
{
if(iEndIndex ==0) // , iEndIndex 0
{
PrintArray(piScr,size);
}
else
{
for(int i =0;i <= iEndIndex;i++)
{
swap(piScr[i],piScr[iEndIndex]);
PermArray(piScr,iEndIndex - 1,size);
swap(piScr[i],piScr[iEndIndex]);
}
}
}
int main()
{
int num[8]={1,2,3,4,5,6,7,8};
PermArray(num,7,8);
system("pause");
return 0;
}