WbICHA, что-то я не уверен что это будет стабильно работать, получается что два не null поля равны между собой и два null поля тоже равны. Это может привести к неожиданным результатам.
RAX7, так в твоём решении всё тоже самое.) Мы не сохраняем изначальный порядок в любом случае, задача состоит в сортировке пустых и непустых, всё. Как оно будет внутри перемещаться нас не касается. А вот если будет касаться, то что твоё, что моё решение надо дорабатывать.