返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >数组循环移位操作实例
  • 305
分享到

数组循环移位操作实例

数组循环移位 2022-11-15 22:11:10 305人浏览 独家记忆
摘要

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

题:
如标题,要求时间复杂度为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;  
}

--结束END--

本文标题: 数组循环移位操作实例

本文链接: https://lsjlt.com/news/172601.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 数组循环移位操作实例
    题: 如标题,要求时间复杂度为O(N)。解法:右移k位,前k位逆序,后N-k位逆序,再整个逆序即可。复制代码 代码如下:#include <stdio.h> &...
    99+
    2022-11-15
    数组 循环 移位
  • c语言实现数组循环左移m位
    目录c语言数组循环左移m位数组循环左移的简单方法输入格式输出格式c语言数组循环左移m位 #include<stdio.h> //函数原型 void rightshiftl...
    99+
    2024-04-02
  • PHP中怎么实现数组循环操作
    PHP中怎么实现数组循环操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在循环里进行的是数组“读”操作,则foreach比while快,PHP数组循环操作无格...
    99+
    2023-06-17
  • C语言选择、循环、函数、数组与操作符实例分析
    本篇内容介绍了“C语言选择、循环、函数、数组与操作符实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、选择语句如果你好好学习,校招时...
    99+
    2023-06-30
  • Linux shell数组循环的实例详解
    shell数组循环 测试shell数组,循环的例子: arr=("a" "b" "c") echo "所有的内容如下:"${arr[@]} echo "数组的长度:"${#arr[*...
    99+
    2022-06-04
    数组 详解 实例
  • python开发之for循环操作实例详解
    本文实例讲述了python开发之for循环操作。分享给大家供大家参考,具体如下: 下面是我做的一些学习记录供大家参考: #基本的for循环语句 test_list = [2,"Jone",3,6,7,'...
    99+
    2022-06-04
    详解 实例 操作
  • C语言选择、循环、函数、数组与操作符
    目录1、选择语句2、循环语句3、函数4、数组5、操作符5、单目操作符6、关系操作7、逻辑操作符8、条件操作符9、逗号表达式10、下标引用、函数调用和结构成员1、选择语句 如果你好好学...
    99+
    2024-04-02
  • Android实现循环平移动画示例
    实现用一张背景图做循环从左往右平移动画。 1、实现两个animation xml文件,一个起始位置在-100%p ,一个在0%p。设置repeat属性为循环,重复。 代码如下...
    99+
    2022-06-06
    示例 循环 动画 Android
  • java数组实现循环队列示例介绍
     从顶部进去数据,从底部出来数据,用数组实现队列,但是下面这个队列,只能进行一次存数值,取数值,不够完善。 import java.util.Scanner; pu...
    99+
    2024-04-02
  • JS之页面加载事件、数组操作、DOM节点操作、循环和分支的示例分析
    这篇文章主要介绍JS之页面加载事件、数组操作、DOM节点操作、循环和分支的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:页面加载事件的比较window.onload...
    99+
    2024-04-02
  • JavaScript循环作用域实例分析
    本篇内容主要讲解“JavaScript循环作用域实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript循环作用域实例分析”吧! 循环作用域...
    99+
    2024-04-02
  • Linux内核中的位数组和位操作
    这篇文章主要介绍“Linux内核中的位数组和位操作”,在日常操作中,相信很多人在Linux内核中的位数组和位操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内核中的位数组和位操作”的疑惑有所帮助!...
    99+
    2023-06-16
  • java数组及arrays类对数组的操作实例
    数组的初始化有两种方式静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如:int[] a1 = new int[] {1,2,3,4};...
    99+
    2023-05-31
    数组 arrays
  • FreeRTOS实时操作系统移植操作示例指南
    目录1.添加FreeRTOS源码2.向工程分组中添加文件附上delay.c和delay.h的代码1.添加FreeRTOS源码 在基础工程中新建一个名为 FreeRTOS 的文件夹,将...
    99+
    2024-04-02
  • python实现数组平移K位问题
    目录python数组平移K位Python对数组进行循环移位要求分析代码实现性能分析总结python数组平移K位 def move(ls: list, offset): """...
    99+
    2023-02-06
    python数组 数组平移K位 python数组平移
  • JavaScript数组的操作示例
    这篇文章主要介绍了JavaScript数组的操作示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:数组及操作方法数组就是一组数据的...
    99+
    2024-04-02
  • C语言实现循环队列基本操作
    循环队列依靠取模运算,实现队列中数据元素的逻辑成环操作。其相比队列的顺序存储实现,可以避免“假溢出”的问题。 头文件声明 #include <stdio.h> #in...
    99+
    2024-04-02
  • shell中的字符串操作、for循环语句示例
    本篇内容主要讲解“shell中的字符串操作、for循环语句示例”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell中的字符串操作、for循环语句示例”吧!代码如下:#!/bin/bashmy...
    99+
    2023-06-09
  • 网上商城迁移的操作实例
    网上商城迁移修改数据库密码和IP下面以其中一个商城为例,其他商城都相同操作cd /home/webserver/tar zxvf nkwshop.tar.gzrm -rf nkwshop.tar.gzIP修...
    99+
    2024-04-02
  • C语言如何实现数组移位、前移、后移与整体移动
    这篇文章主要介绍“C语言如何实现数组移位、前移、后移与整体移动”,在日常操作中,相信很多人在C语言如何实现数组移位、前移、后移与整体移动问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现数组移位、前...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作