sort 模块部分实现