您的位置:首页 > 其它

如何实现数组的循环移位

2015-09-23 16:16 225 查看
void loopMoveArr(int* arr,int n,int steps)
{
int numOfMove = n - steps;
int* tmp = new int
;
int k = 0;
//把arr的后面step个元素移动到暂存空间
for (int i = n - steps; i < n ;++i)
{
tmp[k++] = arr[i];
}

//把arr中剩余未移动的元素移动到暂存空间的后面
for (int i = 0; i < n-steps;i++)
{
tmp[k++] = arr[i];
}

//重新赋值
arr = tmp;
for (int i = 0; i < n;++i)
{
cout << arr[i] << " ";
}
cout << endl;
}
int main(int argc, char *argv[])
{
int arr[6] = { 1, 2, 3, 4, 5, 6 };
int len = sizeof(arr) / sizeof(arr[0]);
loopMoveArr(arr, len, 5);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: