当前位置:  编程技术>c/c++/嵌入式

数组循环移位操作实例

    来源: 互联网  发布时间:2014-10-20

    本文导语:  题: 如标题,要求时间复杂度为O(N)。解法:右移k位,前k位逆序,后N-k位逆序,再整个逆序即可。 代码如下:#include    #include    void reverse(int* array, int b, int e)   {       int temp = 0;       for(; b < e; b++,e--)       {     ...

题:
如标题,要求时间复杂度为O(N)。

解法:
右移k位,前k位逆序,后N-k位逆序,再整个逆序即可。
代码如下:

#include   
#include   

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("%dn", array[i]);  
    }  
    return 0;  
}

    
 
 

您可能感兴趣的文章:

  • C语言构建动态数组完整实例
  • 高分火速求解,请在线朋友回答:java自定义类怎样生成实例数组?( className[] N=new className[X];怎么不行?)
  • C#各种数组的用法实例演示
  • C# 泛型数组实例学习与总结
  • 求子数组最大和的实例代码
  • php遍历数组四种方法 php数组遍历实例
  • C语言二维数组的处理实例
  • php实例分享之二维数组排序
  • php数组长度的获取方法(三个实例)
  • PHP数组分组排序实例代码
  • 3个PHP多维数组转为一维数组的方法实例
  • php chunk函数分割数组实例
  • JAVA得到数组中最大值和最小值的简单实例
  • PHP中数组的分组排序实例
  • php 二维数组去重的实例学习
  • PHP转换二维关联数组为字符串的实例代码
  • PHP基于数组实现的分页函数实例
  • php对二维数组进行排序的简单实例
  • 菜鸟问题(对象数组):对于clsA []=new claA[10];语句执行后是否已经拥有了类clsA的10个实例对象,还是要再for i=0 to 9对clsA[i]=new clsA一下?
  • php对数组排序的简单实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 菜鸟问题(对象数组):对于clsA []=new claA[10];语句执行后是否已经拥有了类clsA的10个实例对象,还是要再for i=0 to 9对clsA[i]=new clsA一下? iis7站长之家
  • C++指针数组、数组指针、数组名及二维数组技巧汇总
  • C++ Strings(字符串) 成员 copy():将内容复制为一个字符数组
  • c#基础之数组与接口使用示例(遍历数组 二维数组)
  • C++ Strings(字符串) 成员 c_str():将字符串以C字符数组的形式返回
  • 如何将一个数组重新组成一个新的数组?
  • c++类对象数组初始化方式
  • php定义数组和使用示例(php数组的定义方法)
  • php数组函数之array_combine() 数组合并函数
  • 判断php数组维度(php数组长度)的方法
  • php数组函数之array_count_values() 统计数组中所有值出现的次数
  • 请问怎么对一个数组排序,数组的内容是字符串,可能是单个也可能是多个?
  • 在我的java程序中,我从数据库中得到一批数据,不能确定是多少个,我要把它保存到我的java数组中,可是怎样才能向C++中的数组一样可以自由分配空间,在java中我必需预先指定大小,不会一定要用java中的那个可改变数组大小的类吧?
  • 一个String类型的Vector向量数组如何转换成一个String类型数组(请给代码)?
  • php数组函数之array_unique() 去除数组中重复的元素值
  • 将数组中指定数量的元素移动数组后面的实现代码
  • C++中关于[]静态数组和new分配的动态数组的区别分析
  • php判断一个数组是否为另一个数组子集的方法
  • 将二维数组转为一维数组的2种方法
  • 文件描述符集fd_set * readfds;书上这样描述数组元素的每一位对应一个文件描述符,第一个元素代表文件描述符0到31,数组第二个元素代表文
  • 深入理解数组指针与指针数组的区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3