Questa versione dell'insertion sort è una versione migliorata della versione non adattativa, in quanto sfrutta tre diverse idee per migliorare i tempi di esecuzione pur rimanendo di tipo quadratico. Le tre idee sono:
Filmato che mostra il funzionamento dell'insertion sort adattativo attraverso una simpatica danza: rispetto all'algoritmo implementato nel codice sottostante, qui i ballerini eseguono un numero di scambi superiore, poichè non si limitano a far scorrere gli elementi verso il basso, ma effettuano ogni volta uno scambio.