《数据结构学习与实验指导》2-2:数组元素循环右移问题
来源:互联网 发布:龙信数据北京有限公司 编辑:程序博客网 时间:2024/06/14 04:33
实验内容:一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>0)个位置。
输入说明:第1行输入N(1<=N<=100)、M(M>=0);第2行输入N个整数。
输出说明:输出循环右移M位以后的整数序列。
测试用例:
输入 | 输出
6 2
1 2 3 4 5 6 | 5 6 1 2 3 4
6 8
1 2 3 4 5 6 | 5 6 1 2 3 4
3 6
11 23 56 | 11 23 56
1 0
8 | 8
#include <stdio.h>#include <stdlib.h>int main(int argc, const char * argv[]) { int N, M; scanf("%d %d", &N, &M); M = M % N; int *arr = (int *) malloc(N * sizeof(int)); for (int i = 0; i < N; i++) { scanf("%d", arr + i); } if (M != 0) { for (int i = 0; i < M; i++) { int t = arr[i]; int index = i; do { arr[index] = arr[(index - M + N) % N]; index = (index - M + N) % N; } while (i != index); arr[(i + M) % N] = t; } } for (int i = 0; i < N - 1; i++) { printf("%d ", arr[i]); } printf("%d\n", arr[N - 1]); free(arr); return 0;}
阅读全文
0 0
- <数据结构学习与实验指导>2-2数组元素循环右移问题
- 《数据结构学习与实验指导》2-2:数组元素循环右移问题
- 《数据结构学习与实验指导》2-9:装箱问题模拟
- 2-2数组元素循环右移问题
- 【Java算法学习笔记】数组元素循环右移问题
- 数组元素循环左/右移问题
- 数组元素循环右移问题
- 1008. 数组元素循环右移问题
- PAT1008:数组元素循环右移问题
- 数组元素循环左/右移问题
- 1008. 数组元素循环右移问题
- 1008 数组元素循环右移问题
- 1008. 数组元素循环右移问题
- 数组元素循环右移问题 (20)
- PAT数组元素循环右移问题
- pat数组元素循环右移问题
- 1008. 数组元素循环右移问题
- 1008. 数组元素循环右移问题
- 新概念4-14
- Centos6.5安装Tengine
- 机器学习知识点
- synchronized 和 lock 基本使用以及死锁分析
- Anaconda4.3.1安装opencv3
- 《数据结构学习与实验指导》2-2:数组元素循环右移问题
- Qt播放音视频文件
- 淘淘商城系列——导入商品数据到索引库——Service层
- MATLAB双目标定——棋盘格左右图像自动保存MATLAB程序
- JAVA学习笔记——BigInteger类和BigDecimal类
- 三大指针:行指针、指针数组、二级指针
- PHP定界符{}的作用
- springmvc工作流程
- java中的循环(for和while)