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; }