美文网首页
PTA BASIC 1008.数组元素循环右移问题

PTA BASIC 1008.数组元素循环右移问题

作者: 渊澄314 | 来源:发表于2020-01-17 20:03 被阅读0次

原题目链接


题解与感想

数组循环移位这篇文章写的很详细,建议仔细阅读(毕竟PTA Basic官方说了难度不超过排序算法,远不能达到找工作的程度),其中解法三很实用(以前刷leetcode遇到过逆序实现移位的解法)

源码

#include"stdio.h"

void RightShift( int arr[],int N, int k)
{
    while(k--)
    {
        char t = arr[N-1];
        for(int i = N-1; i > 0; i--)
            arr[i] = arr[i-1];
        arr[0] = t;
    }
    
    for(int i=0;i<N-1;i++)
    {   printf("%d ",arr[i]);
    }
    printf("%d",arr[N-1]);
}

int main()
{
    int N,M;
    //输入
    scanf("%d %d",&N,&M);
    int table[N];
    for(int i=0;i<N;i++)
    {   scanf("%d",&table[i]);
    }
    //变换&输出
    RightShift(table,N,M);
    
     
    return 0;
}

相关文章

网友评论

      本文标题:PTA BASIC 1008.数组元素循环右移问题

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