如何实现数组的循环移位
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; }
相关文章推荐
- 黑马程序员——Java语言基础:多态、内部类
- mycat学习日记:全局sequence
- 【斜率DP】bzoj1597: [Usaco2008 Mar]土地购买
- Android利用Filter过滤数据
- MSSQL 关于16进制与字符串以及10进制的简单转换,以及SQL的16进制的截取
- PAT(甲级)1007
- win7 下启动mysql
- 树套树
- 测试用例
- np_xtcxyczjh-III 整理I[小公码(宏 错误包装) Makefile]
- 工厂模式 Factory Pattern
- vs项目中使用c++调用lua5.1
- 聊聊编程范式
- 已经为类型参数“Chart”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束
- test5.22
- Spring中的数据库操作--使用JdbcTemplate
- 在Android中查看和管理sqlite数据库
- mysql中int、bigint、smallint 和 tinyint的区别
- 二叉树的基本操作
- 腾讯校招面试经验