美文网首页
数组循环左移

数组循环左移

作者: 側耳听偑 | 来源:发表于2020-11-08 00:55 被阅读0次

数组循环左移

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

输入格式

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

输出格式

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

输入样例:

8 3
1 2 3 4 5 6 7 8

输出样例:

4 5 6 7 8 1 2 3

我的代码

#include<stdio.h>
#define N 100
int main()
{
    int n, m,i,j,a[N];
    int temp;
    int flag = 1;
    scanf("%d%d", &n, &m);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
    if(m>n)
    {
        j=m%n;
        m=j;
    }
    for ( i = m; i < n; i++)
    {
        if (flag) 
        {
            printf("%d", a[i]);
            flag = 0;
        }
        else
        {
            printf(" %d", a[i]);
        }
    }
    for(i=0;i<m;i++)
    {
        printf(" %d", a[i]);
    }   
    return 0;       
}

提交结果

٩(๑^o^๑)۶

相关文章

  • 将数组元素循环移动p位,交换次数仅为n次

    算法思路 循环左移p位 数组序列长度为n,左移p位。 算法步骤 代码如下: 循环左移p位 数组序列长度为n,右移p...

  • 数组循环左移

    数组循环左移 本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组...

  • 通过数组逆置进行循环移位

    通过数组逆置进行循环移位 2018-09-09 Question设计算法将数组a[n]循环左移k位,并要求时间复杂...

  • 算法 - 数组循环左移m个元素

    题目 整数数组,n个元素 数组循环左移m个元素 [1,2,3,4,5,6,7,8,9] -> [4,5,6,7,8...

  • 数组元素左移

    设将n(n>1)个整数存放到一维数组R中, 试设计一个在时间和空间两方面都尽可能高效的算法;将R中保存的序列循环左...

  • 8086/8088 移位指令解释

    目录 非循环移位1.1 逻辑左移——SHL1.2 逻辑右移——SHR1.3 算术左移——SAL1.4 算术右移——...

  • 字符串循环左移

    问题描述:给定一个字符串,将若干个字符移动到该字符串尾部例:1234abc将前四个字符移动到尾部,输出abc123...

  • 顺序表的循环左移

    设将n(n>1)个整数存放到一维数组R中,试设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移...

  • IDA中内置反编译函数及类型转换汇总(持续更新。。)

    ida/plugins/defs.h __ROl__: 参数:(value, int count)循环左移函数,...

  • vue循环与显示

    vue循环 v-for循环普通数组 数组索引值 循环对象数组 循环对象,值(1,ts,man)键(id,name,...

网友评论

      本文标题:数组循环左移

      本文链接:https://www.haomeiwen.com/subject/jtycbktx.html