 Reverse engineering de cet algorithme.
 Entrée : Un tableau A de N entiers A[1], A[2], \u2026, A[N]\nSortie : Un nouveau tableau trié B de N entiers B[1], B[2], \u2026, B [N]\n\nPour i = 2 à N\nj = i\n tant que j > 1 et A[j] < A[j-1]\n échanger A[j] et A[j-1]\nj = j-1
L'algorithme prend un tableau de N entiers, A[1], A[2]\u2026, A[N] et effectue un tri à bulles pour créer un nouveau tableau trié B[1], B[2]\u2026, B[ N]. A partir de l'indice 2, il compare chaque élément A[j] avec son prédécesseur immédiat A[j-1]. Si A[j] est plus petit que A[j-1], les deux éléments sont permutés et j est décrémenté de un. Ce processus est répété jusqu'à ce que A[j] ne soit plus inférieur à A[j-1] ou j = 1.