Salut à tous,

Voilà je suis bloqué sur un schéma de livre expliquant la technique de tri de façon dichotomique récursif à l'aide d'un pivot.

Je vous donne le schéma(désolé pour la qualité mais ça devrais aller)et les explications qui vont avec pour que vous compreniez mieux.



On laisse à leur place les éléments plus petits que le pivot qui sont déjà gauche : on passe au suivant(en incrémentant indiceGauche). On s'arrête quand indiceGauche indique un élément plus grand que le pivot(ici 14)

De l'autre coté, on laisse à leur place les éléments plus grands que le pivot qui sont déjà à droite : on passe au suivant(en décrémentant indiceDroite). On s'arrête quand indiceDroite indique un élément plus petit que le pivot(ici 2).

On échange alors les valeurs entre indiceGauche et indiceDroite(14 et 2).

Et on recommence jusqu'à ce que indiceGauche et indiceDroite désigne la même case. Il s'agit de la place finale du pivot.

---------------------------------------------------------------------------

Les 3 premiers tableaux tous va bien mais au 4e on dirait qu'il y a un soucis.
Puisque l'indice de gauche s'arrête sur 4 alors que celui ci est bien plus petit que le pivot
Alors que l'indice de droite lui continue bien jusqu'à 4 qui est donc plus petit que le pivot.
Ainsi les 2 indices ne doivent pas se retrouvé à la même case d'après les explications.Ce qui ne permet pas de trouvé la place du pivot dans le tableau.

Pourtant dans les 3 premiers tableaux on peut bien constater que l'indice gauche ne s'arrête uniquement pour les valeurs plus grandes que le pivot.

Alors n'y a t-il pas un cheveux dans la soupe là ?
c'est pas très logique l'explication du livre je trouve

Quelqu'un aurait-il un vision plus pédagogique de la chose ?


Merci à vous de votre précisieuse aide