/** * * @author LLJ * 数组元素颠倒 */ public class Reverse { public static void main(String[] args) { int[] a = {3,1,2,5,7}; System.out.println("--------原有数组元素打印---------------"); printArray(a); System.out.println("--------数组元素互换,颠倒执行开始--------"); reverse(a); System.out.println("--------数组元素互换,颠倒执行结束--------"); System.out.println("--------互换成功后的数组元素------------"); printArray(a); } /** * * a.length/2:分析题意得知。 * 元素颠倒,也就是最少时只需要移动(或是颠倒)元素长度的一半次数的数组元素, * 偶数个元素即是移动(颠倒)偶数的二分之一次, * 奇数个元素即是奇数的二分之一(取整数位)次。 */ public static void reverse(int[] a){ //i变化范围为数组长度的一半 for(int i = 0; i<a.length/2; i++){//a.length/2:偶数个元素即是颠倒偶数的二分之一次,奇数个元素即是奇数的二分之一次 //交换a[i]和a[a.length - i - 1] int t = a[i];//把数组的第一个值a[i],放到t a[i] = a[a.length - 1 - i];//把数组最后一个值放到a[i] a[a.length - 1 - i] = t;//把t的值(也就是初始a[i]的值)放到数组最后一个元素上 } } /** * * @param a * 打印数组 */ public static void printArray(int[] a){ for(int i = 0; i<a.length; i++){ System.out.print(a[i] + "\t");//"\t"是java中的分隔符 } System.out.println();//打印完的换行 } }
数组元素颠倒顺序
猜你喜欢
转载自blog.csdn.net/weixin_42495773/article/details/80782642
今日推荐
周排行