partition部分操作的实现