shuffle函数都要手撕