修正了正确的partition算法以及取随机数的方法

（1）从右往左，找第一个小于等于key的位置r
（2）从左往右，找第一个大于等于key的位置l
（3）如果l<r，则交换位置