Sort:  

麻烦部分主要是计算负值。其实实际情况更加复杂一些,因为在0点附近还有一些特别处理