Algoritheme de déplacement circulaire bidirectionnel

Programmation Aucun commentaire »

Voici un petit pense bête pour réaliser un déplacement circulaire bidirectionnel dans un tableau.

1
2
3
4
5
6
7
8
9
/*
@position : Position dans le tableau souhaitée
@pointeur : Position actuel du tableau
@nbEnfant : Taille du tableau
*/
if (position >= 0)
	pointeur = position % nbEnfant ;
else
	pointeur = nbEnfant + (position % nbEnfant );

Edit :
La fonction ci-dessus ne semble pas fonctionnel pour les nombres négatifs.
Privilégier celle ci-dessous qui semble faire ces preuves.

1
2
3
4
5
position	= (position % nbChildrenDirect);
while (position < 0)
{
	position += nbChildrenDirect;
}
Mots-clefs :, , ,
 
Designed by NattyWP Wordpress Themes.
Images by desEXign.