numbers[r] = numbers[n-1];//
第一次:i=0
如果r==n-1,基本没意义.
如果r< n-1 就把numbers数组中的最后一项值赋给numbers[r],假设n=6,就相当于把numbers[5]赋值给numbers[r].(r>=0),此时的numbers[r]的值就和result[i](即result[0])的值不同了,可以确保numbers数据里面剩余的元素不会和result数组里面的元素重复.
n--,numbers数组里面的元素变为了(n-1)个,就是使r的值范围变成了n-1,依次类推