7-4 数组循环左移 (10 分)

简介: 7-4 数组循环左移 (10 分)

7-4 数组循环左移 (10 分)


本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(am⋯an−1a0a1⋯am−1)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?


输入格式:


输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整数,其间以空格分隔。


输出格式:


在一行中输出循环左移m位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。


输入样例:


1. 8 3
2. 1 2 3 4 5 6 7 8


结尾无空行


输出样例:


4 5 6 7 8 1 2 3


结尾无空行


#include<iostream>
using namespace std;
int main(){
    int n,m;
    cin>>n>>m;
    m%=n;
    int a[n];
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=m;i<n;i++){
        if(i!=m)cout<<' ';
        cout<<a[i];
    }
    for(int i=0;i<m;i++)cout<<' '<<a[i];
    return 0;
}




目录
相关文章
|
自动驾驶 安全 物联网
探索未来网络:从5G到6G的演进与创新
本文旨在探讨移动通信技术从5G向6G演进的过程及其关键技术,揭示这一领域的最新趋势和挑战。通过分析5G的现状、6G的预期目标和技术特点,本文展示了未来通信技术的广阔前景和潜在应用领域。
|
11月前
|
Java 开发者 Kotlin
Kotlin教程笔记(14) - 伴生对象与静态成员
Kotlin教程笔记(14) - 伴生对象与静态成员
93 3
|
数据安全/隐私保护 图形学
Qt 输入组控件(Input Widgets)& 显示组控件(Display Widgets)详解
Qt 输入组控件(Input Widgets)& 显示组控件(Display Widgets)详解
|
安全 网络协议 算法
RTP、RTCP、RTSP 概念
<p style="line-height: 28px; margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px; color: rgb(51, 51, 51); font-family: 'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helve
7789 0
|
传感器 芯片
51单片机读取DS18B20温度传感器
51单片机读取DS18B20温度传感器
545 0
AutoJS4.1.0实战教程---快逗短视频
AutoJS4.1.0实战教程---快逗短视频
145 0
|
Unix Linux Shell
Fedora32下编译安装Qemu5.1并创建ARM版本Linux虚拟机
Fedora32下编译安装Qemu5.1并创建ARM版本Linux虚拟机
558 0
Fedora32下编译安装Qemu5.1并创建ARM版本Linux虚拟机
|
前端开发 测试技术 数据库
用户注册【项目 商城】3
用户注册【项目 商城】3
115 0
|
存储 C++
C++/PTA 求两点之间距离
定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数Distance(), 用于求两点之间的距离。
363 0
大型电商网站:第四章:业务功能与数据结构分析
大型电商网站:第四章:业务功能与数据结构分析
143 0
大型电商网站:第四章:业务功能与数据结构分析