zoukankan      html  css  js  c++  java
  • 数组倒置

    这一次的只是我十分简单,我们通过标题就能知道内容

    数组倒置,那么如何倒置呢?

    假设一个数组为:

    1  2  3  4  5

    那么他到倒置后的的结果应该是这样的

    5  4  3  2  1

    其实我们可以发现一个简单的规律

    1-5,2-4只是交换了一下位置

    那么我们只要求出一个数对应的数然后再去交换,数组就交换成功了呢?

    没错,关键是怎么得出一个数对应的数呢?

    索引!并且可以得出一个公式 x 索引 对应的数 =数组长度减去x减去1

     对了我们交换肯定是要循环交换的,那么这个循环条件又是什么呢?

    看了一下上面数组长度为5就只需要交换2次 如果为数组长度为6呢?

    1  2  3  4  5  6

    1-6  2-5 3-4 

    没错3次,证明了我们的交换次数是和数组长度相关的

    这两者又有什么规律呢?

    假如我们在看一个数组就会知道了

    长度为7: 1  2   3  4  5  6  7

    1-7 2-6 3-5

    同样只需要3次就可以倒置,我们仿佛可以得出这个规律

    交换次数 = 数组长度  整除 2。

    来到这里,既然我们的思路都有了,已经循环的每个条件

    写出代码其实就很简单了,跟这自己的思路,转换成代码就行了

    以上就是这一期的全部内容。

  • 相关阅读:
    stl rope
    vijos1574 摇钱树
    图论 Dijkstra+堆优化
    c++输入优化
    Vijos1579 宿命的PSS 最小生成树
    快速求n阶多项式乘积
    c++stl map
    C#函数式程序设计之惰性列表工具——迭代器
    C#函数式程序设计之泛型(下)
    C#函数式程序设计之泛型(上)
  • 原文地址:https://www.cnblogs.com/menghujava/p/9931264.html
Copyright © 2011-2022 走看看