それ以上の良いアルゴリズムは思い浮かびませんね。 比重の大きいものが前に来やすいようにすると効率が良いと思います。