文章
25
粉丝
6
获赞
0
访问
1.5k
1.设计思想:
将0到p-1的部分逆置,将p 到n-1的部分逆置,最后将整个数组逆置,就可以得到所求的数组。
2.void reverse(int& q[],int start,int end){//整个序列逆置函数,传递参数数组p,起始位置start,结束位置end
for(int i=start;i<=end-1;i++){//交换相邻的元素
int t=q[i];//用临时值存储前一个元素
q[i]=q[i+1];//前一个元素保存后一个元素
q[i+1]=t;//后一个元素替换成临时值
}
}
int Sep_rev*(int q[],int n,int p){//返回结果的操作函数,传递参数:数组p,变量n和p
reverse(q,0,p-1);//逆置前一半部分
reverse(q,p,n-1);//逆置后一半部分
reverse(q,0,n-1);//逆置整个数组
return q;//返回最终的数组
}
3.时间复杂度O(n),空间复杂度O(1)。
登录后发布评论
暂无评论,来抢沙发