1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
void iter(int n,int nbElement,struct noeud *ptr)
{
struct noeud *p = ptr;
int i,niveau = n;
long count = 0;
A: i = nbElement;
while(i>0)
{
if(niveau != nombre_d_items)
{
Pile[entree_libre++] = i;
Pile[entree_libre++] = niveau++;
Pile[entree_libre++] = nbElement--;
p = p->suivant;
goto A;
B: p = p->precedant;
nbElement = Pile[--entree_libre];
niveau = Pile[--entree_libre];
i = Pile[--entree_libre];
/*if(niveau == nombre_d_items-1) {printListe();printf("\t");}*/
if(++count == 53971002) {printListe();}
insererApres(supprimerAvantZ(),p);
}
i--;
}
if(!pileVide()) goto B;
} |