zoukankan      html  css  js  c++  java
  • 1008 数组元素循环右移问题

    1008 数组元素循环右移问题 (20分)
     

    一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(0)个位置,即将A中的数据由(A0​​A1​​AN1​​)变换为(ANM​​AN1​​A0​​A1​​ANM1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?

    输入格式:

    每个输入包含一个测试用例,第1行输入N(1N100)和M(0);第2行输入N个整数,之间用空格分隔。

    输出格式:

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

    输入样例:

    6 2
    1 2 3 4 5 6
    
     

    输出样例:

    5 6 1 2 3 4
    
     

    题目较简单,直接看代码

     1 #include<iostream>
     2 using namespace std;
     3 int main() 
     4 {
     5     int N,M;
     6     int a[100];
     7     cin>>N>>M;
     8     for(int i=0;i<N;i++)
     9         cin>>a[i];
    10     if(N==1)   //a中只有一个元素直接输出
    11     {
    12         cout<<a[0];
    13         return 0;
    14     }
    15     int tem;
    16     for(int i=1;i<=M;i++)  //外层控制右移M个位置
    17     {
    18         tem=a[N-1];
    19         for(int j=N-1;j>=0;j--)
    20             a[j]=a[j-1];
    21         a[0]=tem;
    22     }
    23     for(tem=0;tem<N-1;tem++)
    24         cout<<a[tem]<<" ";
    25     cout<<a[tem];
    26     return 0;
    27 }

    ac了

  • 相关阅读:
    web.xml模板
    log4j.properties模板
    springmvc-config.xml模板
    applicationContext.xml配置druid连接池
    mybatis-config.xml模板
    mapper.xml模板
    Servlet基础认识
    单例模式的懒汉饿汉
    霜降小悟
    忙闲有致
  • 原文地址:https://www.cnblogs.com/buanxu/p/12812611.html
Copyright © 2011-2022 走看看