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

    首尾交换  

    思路一:开辟一个等长的数组,原始数组反转存入

    public static int[] reverse(int arr[])

    {

      {

        int temp = new int[arr.length];

        int foot = 0;

        for(int x=arr.length - 1; x>=0; x--)

        {

          temp[foot++]= arr[x];

        }

      return temp;

      }

    }

    最大问题在于此类方法开辟了两块堆内存空间   空间浪费    内存占用量高  查sql语句    cpu高  查算法

    思路二:在一个数组上完成数组反转

    原始数组  1 2 3 4 5 6 7 8 9

    第一次  1和9交换

    第二次 2和8交换

    第三次 3和7交换

    第四次 4和6交换 5不做任何改变    共转了数组长度/2次

    public static void reverse (int arr[])

    {

      int center = arr.length/2;

      int head = 0 ;    头部

      int tail = arr.length - 1 ;   尾部

      for(int x = 0;x<center ;x++)

      {

        int temp = arr[head];

        arr[head] = arr[tail]

        arr[tail] = temp ;

        head ++;

        tail--;

      }

    }

    二维数组转置

    public static void reverse(int arr[] [])

    {

      for(int x = 0;x<arr.length;x++)

      {

        for(int y = x;y<arr[x].length;y++)

        { 

          if(x!=y)

          {

            int temp = arr[x][y];

            arr[x][y]=arr[y][x];

            arr[y][x]=temp;

          }

        }

      }

    }

  • 相关阅读:
    npm ci命令比npm installer命令快2至10倍
    Liferay 7.1发布啦
    2016/07/05 zend optimizer
    2016/06/16 phpexcel
    2016/06/13 phpexcel 未完待续
    2016/06/10 日历插件 Datepicker
    2016/06/09 ThinkPHP3.2.3使用分页
    2016/06/02 网摘记录 svn 服务器端 客户端 安装使用
    2016/05/27 php上传文件常见问题总结
    2016/05/25 抽象类与API(接口)差别
  • 原文地址:https://www.cnblogs.com/123talents/p/7460188.html
Copyright © 2011-2022 走看看