adaptive sort

sorting algorithm which exploits existing order in its input