gpt4 book ai didi

数组循环移位操作实例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章数组循环移位操作实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

题: 如标题,要求时间复杂度为O(N)。 解法: 右移k位,前k位逆序,后N-k位逆序,再整个逆序即可.

复制代码 代码如下

#include <stdio.h>   #include <stdlib.h>   void reverse(int* array, int b, int e)   {       int temp = 0;       for(; b < e; b++,e--)       {           temp = array[e];           array[e] = array[b];           array[b] = temp;       }       return;   }   void rightShift(int* array, int n, int k)   {       k = k % n;       reverse(array, 0, n - k - 1);       reverse(array, n - k, n - 1);       reverse(array, 0, n - 1);       return;   }   int main()   {       int array[] = {6,7,8,9,1,2,3,4};       int i = 0;       rightShift(array, 8, 4);       for (; i < 8; i++)       {           printf("%d\n", array[i]);       }       return 0;   } 。

最后此篇关于数组循环移位操作实例的文章就讲到这里了,如果你想了解更多关于数组循环移位操作实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com