Bonjour à tous !
il m'a été donné un exercice à faire en C :
traduire l'algo de tri par insertion simple en C avec et sans pointeurs, la version sans pointeurs marche tres bien, par contre j'ai un probleme pour celle avec les pointeurs :
Version sans pointeurs :
Code :
- j=0;
- x=0;
-
- while(j<nbel)
- {
- tmp=vec[j];
- x=j-1;
-
- while(x>=0 && vec[x]>tmp)
- {
- vec[x+1]=vec[x];
- x--;
- }
- vec[x+1]=tmp;
- j++;
- }
|
Version avec pointeurs
Code :
- j=0;
- x=0;
- pvec=&vec[0];
- pdeb=&vec[0];
- while(j<nbel)
- {
- tmp=*pvec;
- x=j-1;
-
- while(x>=0 && *(pdeb+x)>tmp)
- {
- *(pdeb+x+1)=*(pdeb+x);
- x--;
- }
- *(pdeb+x+1)=tmp;
-
- *pvec++;
- j++;
- }
|
J'aimerai donc ne plus utiliser que le pointeur *pvec, meme si la version ci dessus fonctionne mais à mon avis il y a moyen de faire mieux, et la je cale.
Merci de votre aide