将数组元素分成两部分,再整体交换位置
摘要:
昨日去某公司笔试,碰到一个题如下: 对于一个数组,已知其长度为n,和一小于n的正整数p,将该数组的前p个元素和后面的元素交换一下位置,例如a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,2,3,4,5,6},若p=6,则输出为{7,8,9,10,11,12,13,14,15},要求占用尽可能少的空间。 思路:其实方法很简单,将每一个元素都向前移动一位,移动P次即可,不要陷入怎么分段拷贝的思路中。 1 #include<iostream.h> 2 3 void move(int *s,int m,int n); 4 5 void main() 阅读全文
posted @ 2011-06-26 18:59 鹰之歌 阅读(1689) 评论(5) 推荐(0) 编辑