`
kmplayer
  • 浏览: 508775 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

寻找移位有序数组的转折点

 
阅读更多
1,题意:
原来一个有序数组,分成前后两部分并将两部分交换得到一个新数组。
写一个函数,参数是这个新数组,找到这个分开的节点。
2,实现代码:
#include <iostream>
using namespace std;

#define MAX(a,b) ( a>b? a:b )

int FindIdx(int a[], int l, int u)
{
     if (l == u )
        return 0;
     int mid = (l + u) / 2;
     if (a[mid] > a[mid + 1])
        return (mid + 1);
     else
        return MAX(FindIdx(a, l, mid), FindIdx(a, mid + 1, u));
}

int main()
{
    int data[]={3,3,3,3,1,3,3};
    int n=sizeof(data)/sizeof(data[0]);
    cout<<FindIdx(data,n)<<endl;
    return 0;
}
分享到:
评论

相关推荐

    三维数组元素上下移位_三维数组移位操作_

    本主题将深入探讨“三维数组元素上下移位”的概念,这是LabVIEW中对三维数组进行操作的一种常见技巧,特别是在处理多维数据时非常有用。 三维数组可以理解为由多个二维数组组成的集合,每个二维数组称为一个切片。...

    西门子s7-1200数组移位

    创建N元素数组,输入引脚ON,程序依次向后移动1位,并将新值放入数组中第0位元素

    数组循环移位问题的解法的探究

    ### 数组循环移位问题的解法探究 在计算机科学领域,数组作为一种基本的数据结构,在很多算法和数据处理中扮演着重要角色。特别是在涉及到数组元素的移动时,如何高效地进行数组元素的移位操作成为了许多算法研究的...

    数组移位.vi

    数组移位

    CODESYS数组移位功能块

    CODESYS内实现对数组的左移、右移、循环左移和循环右移操作 1、数组右移(SHR) 2、数组左移(SHL) 3、数组循环右移(ROR) 4、数组循环左移(ROL)

    数组循环移位操作实例

    在编程领域,数组循环移位操作是一种常见的数组处理方法,特别是在数据结构和算法设计中。循环移位,也称为旋转,是指将数组中的元素按照指定的步长向左或向右移动,移动过程中数组的首尾元素会形成一个新的序列。在...

    一维数组移位练习.vi

    一维数组移位练习

    给出数组和移位位数实现循环左移

    本篇文章将深入解析“给出数组和移位位数实现循环左移”这一主题,探讨其背后的逻辑、实现方法以及应用场景。 ### 循环左移的概念 循环左移是一种常见的位操作,它将数组或序列中的元素按照指定的位数向左移动,并...

    VB 数组内平移

    下面我们将深入探讨VB中数组内平移的相关知识点。 首先,理解数组的基本概念。在VB中,数组可以是一维、二维或多维的。一维数组类似于线性列表,二维数组则类似于表格,多维数组可以看作是更复杂的表格结构。数组的...

    移位寄存器的实现

    在本文中,我们将深入探讨移位寄存器的概念、种类、工作原理以及如何通过数组实现移位寄存器。 首先,我们来理解移位寄存器的基本概念。移位寄存器是一种特殊的存储设备,由一系列相互连接的触发器(通常是D型...

    C语言数组元素的循环移位方法

    在C语言中,数组元素的循环移位是一种常见的操作,特别是在处理序列数据或者需要实现某种数据变换时。这种操作会将数组中的元素按照一定规则移动,例如,将数组的最末尾元素移动到最前端,其余元素依次后移。本文将...

    数组循环移位算法参考.pdf

    数组循环移位算法是一种常见的数据操作,特别是在编程竞赛和算法设计中。该算法的主要目标是在一个包含N个元素的数组中,将所有元素向右移动K位,同时保持时间复杂度为O(N),并限制使用有限的额外空间。在本文中,...

    数组练习题Subject:数组

    数组循环移位是数组操作的一种常见需求。在 Subject06 中,我们需要将一个数组中前 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数。这可以通过使用 Java 中的数组索引和赋值操作来...

    循环数组移位实现三种数据类型的应用.vi

    循环移位数组实现三种数据类型的应用,通常对一个组进行循环移位,看似简单,实际上应用时发现比较麻烦,本案例通过一个的巧妙的方法,轻松解决了这个问题,尤其是用它来实现流水灯的变化非常方便,

    C语言实现数组的循环移位的方法示例

    在C语言中,数组的循环移位是一种常见的操作,它涉及到数组元素的重新排列,使得数组元素按照指定的位数向左或向右移动。这种操作在数据处理、位操作和算法实现等领域都有广泛应用。本篇文章将深入探讨如何用C语言...

    数组循环左移

    它涉及到在有限的一维数组或向量中,通过指定步长(i)将元素整体向某个方向移动,通常包括向左移位和向右移位。在本例中,我们讨论的是向左移位,即把数组的前端部分移到数组的末尾,而其余部分依次前移。 对于一...

    ATL数组传递详细说明

    ### ATL 数组传递详细说明 #### 一、概述 在 Windows 开发环境下,尤其是在使用 Active Template Library (ATL) 或者 MFC (Microsoft Foundation Classes) 进行 COM 组件开发时,经常需要处理数据结构的传递问题。...

    C#循环移位(不好,不要介意哦)

    在C#编程中,"循环移位"是一种常见的操作,特别是在处理数组或列表时,它涉及到元素的重新排列。在给定的标题和描述中,我们可以看到一个具体的例子,它展示了如何将一个数字序列(1到6)进行循环右移。这种操作在...

Global site tag (gtag.js) - Google Analytics