案列
要求:把数组的元素内容进行反转;
arr{11,22,33,44,55,66} ->{66,55,44,33,22,11}
1 public class arryReverse{ 2 public static void main(String[] args){ 3 /* 4 要求:把数组的元素内容进行反转; 5 arr{11,22,33,44,55,66} ->{66,55,44,33,22,11} 6 思路分析: 7 方式1:通过找规律反转 8 把a[0]对应的11与a[5]对应的66进行互换{66,22,33,44,55,11} 9 把a[1]对应的22与a[4]对应的55进行互换{66,55,33,44,22,11} 10 把a[2]对应的33与a[3]对应的44进行互换{66,55,44,33,22,11} 11 一共要交换3次,既3=arr.length/2 12 a[5]=arr.length-1-0; 13 a[4]=arr.length-1-1 14 15 */ 16 int [] arr = {11,22,33,44,55,66}; 17 int tmep=0; 18 //交换的次数 19 for (int i =0;i<arr.length/2 ;i++ ) { 20 //类型要互换两个杯子里面的水,需要借助第三个杯子; 21 tmep = arr[arr.length-1-i]; 22 arr[arr.length-1-i] = arr[i]; 23 arr[i] = tmep; 24 25 } 26 System.out.println("转换后的数组"); 27 for (int i = 0;i<arr.length ;i++ ) { 28 29 System.out.print(arr[i]+"\t"); 30 } 31 32 //方式2:使用逆序赋值方式 33 /*1.定义一个新的数组arrys2,长度为arr.length; 34 2.逆序遍历arr,将每个元素拷贝到arrys2元素中, 35 3.增加循环变量,j 0到5 36 */ 37 38 System.out.println("================================="); 39 int [] arr1 = {11,22,33,44,55,66}; 40 int [] arry2 = new int [arr1.length];//定义一个新的数组名称 41 //逆序遍历 42 for (int i = arr1.length-1, j = 0; i >= 0 ;i--,j++ ) { 43 arry2[j] = arr1[i]; 44 } 45 //当for循环结束后,arrys2就是一个逆序的数组{66,55,44,33,22,11} 46 //让arr指向arrys2数据空间,此时arr原来的数据空间就没有变量引用,会被当做垃圾处理 47 arr1 = arry2; 48 System.out.println("arr1逆序后的元素情况分布"); 49 //输出arry1逆序后的分布情况; 50 for (int i =0;i<arr1.length ;i++ ) { 51 System.out.print(arr1[i]+"\t"); 52 } 53 54 } 55 }
标签:11,数组,22,33,44,55,66,翻转 来源: https://www.cnblogs.com/nzm-2019/p/15913559.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。