数组循环右移(习题8-3, 20分)
发布时间
阅读量:
阅读量
请完成对数组进行循环右移功能的实现。给定一个包含n(n > 0)个整数的一维数组A,请将其数据通过轮换操作转换为新序列。具体而言,在不考虑索引越界的情况下,在新序列中前半部分放置原序列末尾连续m个元素,在后半部分则依次排列原序列其余元素。(其中新序列前半部分由原序列末尾连续取值构成)。其中新序列前半部分由原序列末尾连续取值构成
函数接口定义:
int ArrayShift( int a[], int n, int m );
其中a[]表示由用户提供的一个整型数组;n代表该数组元素的数量;m为要进行循环右移的操作次数。该函数需确保在执行完循环右移操作后仍能访问到原始存储空间。
裁判测试程序样例:
#include <stdio.h>
#define MAXN 10
int ArrayShift( int a[], int n, int m );
int main()
{
int a[MAXN], n, m;
int i;
scanf("%d %d", &n, &m);
for ( i = 0; i < n; i++ ) scanf("%d", &a[i]);
ArrayShift(a, n,
全部评论 (0)
还没有任何评论哟~
