JAVA 实现数组翻转

124 篇文章 1 订阅
7 篇文章 0 订阅

1.Java提供了一些工具包实现了数组翻转,这里就不在赘述了

   reverse。。。


2.还可以通过倒叙循环,重新new一个数组进行赋值,例如

[java] view plain copy
  1. private static String[] reverseArray(String[] Array) {    
  2.         String[] new_array = new String[Array.length];    
  3.         for (int i = 0; i < Array.length; i++) {    
  4.             // 反转后数组的第一个元素等于源数组的最后一个元素:    
  5.             new_array[i] = Array[Array.length - i - 1];    
  6.         }    
  7.         return new_array;    
  8.     }    

3.但是是效率可不可以更高一些呢,还有在同一个数组上如何进行翻转


例如数组:a,b,c,d,e,f,g

返回结果:g,f,e,d,c,b,a

分析:数组长度为 7

           对应数组标记,数组从0开始,也就是0,1,2,3,4,5,6

           当长度为单数时,中间位不需要互换,也就是d(4)不需要互换,也就是7/2取整结果3,3+1不需要互换,也就是length/2 +1不需要互换

           当长度为双数时,不需要考虑,全部进行互换


 总结:需要互换的数据为0~(length/2 -1) 与 length/2 ~ (length -1)

           设置循环系统i=0,阈值为lenth/2 - 1,同时倒叙获取后面的参数进行互换。

[java] view plain copy
  1. public static void main(String[] args) {  
  2.         String[] num = {"1""2""3""4""5""6"};  
  3.   
  4.         for (int i = 0; i <= num.length / 2 - 1; i++) {  
  5.             String temp1 = num[i];  
  6.             String temp2 = num[num.length - i - 1];  
  7.             num[i] = temp2;  
  8.             num[num.length - i - 1] = temp1;  
  9.         }  
  10.         System.out.println(Arrays.asList(num).toString());  
  11.     }  


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值