PDA

View Full Version : [C] semplice conversione da iterativo a ricorsivo


Dark_Tranquillity
08-07-2004, 14:02
qualcuno mi convertirebbe le due funzioni iterative elencate sotto in funzioni ricorsive:

void copy (int *b, int *c, int *j, int n, int *k)
{
int h;
for (h=*j;h<=n;h++)
{
c[*k]=b[h];
*k=*k+1;
}
}

void shortmerge (int *a, int *b, int *c, int m, int *j, int *k)
{
int l;
l=0;
while (l<=m)
{
if (a[l]<=b[*j])
{
c[*k]=a[l];
l=l+1;
}
else
{
c[*k]=b[*j];
*j=*j+1;
}
*k=*k+1;
}
}

Ed_Bunker
08-07-2004, 17:53
La prima forse potrebbe essere cosi:

void copy (int * b, int *c, int * j, int n, int * k)
{
if (*j == n)
return;
else
c[*k] = b[*j];
copy(b, c, j, (*j)+1, (*k)+1);
}

Prova...

P.S. :
perche' usi dei puntatori anche per "semplici" interi
(E non solo per gli array di interi ?)