数组元素的反转

 1 package com.demo;
 2
 3 /*
 4  * 数组元素的反转(不使用新数组)
 5  * 实现数组元素的反转,就是把数组中对称位置的元素调换
 6  */
 7
 8 public class ArrayReverse {
 9     public static void main(String[] args) {
10         // 定义一个数组
11         int[] arr = new int[] { 10, 50, 30, 25, 70, 35 };
12
13         // 遍历原数组
14         System.out.print("反转前的数组:");
15         for (int i = 0; i < arr.length; i++) {
16             System.out.print(arr[i] + " ");
17         }
18         System.out.println();
19
20         // 交换对称位置的元素
21         /*
22          * 实现原理:
23          * 定义两个变量来存储索引值
24          *   int first = 0; // 0号索引值
25          *   int last = arr.length - 1; // 最大索引值
26          *
27          * 1.拿数组中0号索引位置的元素和最大索引位置的元素交换
28          * 2.拿数组中1号索引位置的元素和第二大索引位置的元素交换
29          * 其实就是对称位置的元素进行交换
30          * ......
31          * 以此类推,当  first>=last 的时候,停止交换
32          * 换句话说,交换的条件为:first<last
33          */
34         // 方式一
35         for (int first = 0, last = arr.length - 1; first < last; first++, last--) {
36             int temp = arr[first];
37             arr[first] = arr[last];
38             arr[last] = temp;
39         }
40
41         // 方式二
42 //        for (int i = 0; i < arr.length / 2; i++) {
43 //            int temp = arr[i];
44 //            arr[i] = arr[arr.length - i - 1];
45 //            arr[arr.length - i - 1] = temp;
46 //        }
47
48         // 遍历反转后的数组
49         System.out.print("反转后的数组:");
50         for (int i = 0; i < arr.length; i++) {
51             System.out.print(arr[i] + " ");
52         }
53         System.out.println();
54     }
55 }

运行结果:

反转前的数组:10 50 30 25 70 35
反转后的数组:35 70 25 30 50 10 

原文地址:https://www.cnblogs.com/stefaniee/p/10920743.html

时间: 2024-10-27 09:31:06

数组元素的反转的相关文章

数组元素复制 反转 学习笔记

package com.ctgu.java.exer; public class TestArray3 { public static void main(String[] args){ int[] arr = new int[]{12,43,9,0,-65,-99,100,9}; int max = arr[0]; for(int i = 1; i < arr.length;i++ ){ if(max < arr[i]){ max = arr[i]; } } System.out.print

数组--元素顺序反转

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 /* 7 练习7:将一个字符串数组的元素的顺序进行反转. 8 * {"3","a","8","haha"} 转换为{"haha","8","a","3"}

数组元素反转

数组元素反转: class Hello2 { public static void main(String[] args) { int[] arr = {11,12,13,14,15}; reverseArray(arr); print(arr); } public static void reverseArray(int[] arr) { for (int i = 0;i < arr.length / 2 ;i++ ) { int temp = arr[i]; arr[i] = arr[arr

Java实现数组元素反转

package com.fgy.demo; /** * 数组元素反转 */ public class demo05 { public static void main(String[] args) { int[] arr = {10, 20, 30, 40, 50}; System.out.print("数组反转前:"); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " ")

PHP数组元素函数的整理

php数组元素的整理   1.Count() 计算数组中元素的个数: 2.Array_values(array $input) 以索引数组的形式返回数组中所有 元素的值 只需一个数组做参数,将关联数组转化成数字索引数组: 3.Array_keys(array$array[,mixed$search_value[,bool$strict=false]]返回数组中 部分的或所有的键名,二维数组时只显示第一层的键名 4.in_array(mixed$needle,array$haystack[,boo

c# 逆转数组元素的排序

c#中逆转数组元素的排序实例代码如下: private string[] G_str_array;//定义字符串数组字段 private void Frm_Main_Load(object sender, EventArgs e) { G_str_array = new string[] {"C#-1","C#-2","C#-3","C#-4","C#-5"};//为字符串数组字段赋值 foreach (s

Java 数组元素倒序的三种方式

将数组元素反转有多种实现方式,这里介绍常见的三种. 直接数组元素对换 @Test public void testReverseSelf() throws Exception { System.out.println("use ReverseSelf"); String[] strings = { "ramer", "jelly", "bean", "cake" }; System.out.println(

PAT自测_打印沙漏、素数对猜想、数组元素循环右移、数字加倍重排、机器洗牌

00-自测1. 打印沙漏(20) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符号数差2:符号数先从大到小顺序递减到1,再从小到大顺序递增:首尾符号数相等. 给定任意N个符号,不一定能正好组成一个沙漏.要求打印出的沙漏能用掉尽可能多的符号. 输入格式: 输入在一行给出1个正整数N(<=1000)和一个符号,中间以空格分隔. 输出格式: 首先

力扣题目汇总(加一,旋转数组,整数反转)

力扣题目汇总(加一,旋转数组,整数反转) 加一 1.题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123. 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321. 2.解题思路 #错误思路 列表最后一位加1,判断最后