请你说一说洗牌问题的思路并手写代码,并设计测试用例
参考回答:
void PerfectShuffle(int *A,int n){ if(n <= 1){ return; }//if // int size = 2*n; int index,count; for(int i = n;i < size;++i){
// 交换个数
count = n - (i - n) - 1;
// 待交换
index = i; for(int j = 1;j <= count;++j){ swap(A[index],A[i-j]); index = i - j; }//for }//for } };
可以就数组的类型,可以是int型的,浮点型的,还可以是大数类型,负数,进行测试。