java数组元素倒置

 1 package dataStructure;
 2 import java.util.Arrays;
 3 import java.util.ArrayList;
 4 public class Test1 {
 5     static int [] a =new int[10];
 6     static{
 7     for (int i=0;i<10;i++)
 8         a[i]=i;
 9     }
10
11     public ArrayList<Integer> inverse(int [] a,ArrayList<Integer> ra){//方法1:只能把整个数组倒置输出,不能改变原数组
12         int n=a.length;
13         if (n==1){//递归的停止条件
14             ra.add(a[n-1]);
15             //System.out.println(a[n-1]);
16             }
17         else{
18                 ra.add(a[n-1]);
19                 //System.out.println(a[n-1]);
20                 inverse( Arrays.copyOfRange(a, 0, n-1),ra);
21             }
22         return ra;
23         }
24
25     public int [] revert(int a[], int n, int m){//数组元素倒置,并且设定初始位置和要倒置元素的个数,且可以改变原数组,方法2
26         if (m == 0)
27                  ;
28         else
29         {
30             int tmp = a[m - 1];
31             revert(a, n + 1, m - 1);
32             a[n] = tmp;
33         }
34         return  a;
35     }
36
37     public static void main(String args[]){
38         Test1 n =new Test1();
39         ArrayList<Integer> rea=new ArrayList<Integer>();
40         for (Integer line :n.inverse(a,rea)){
41             System.out.println(line);
42         }//方法1
43         for (int arr:n.revert(a,0,10)){
44             System.out.println(arr);
45         }
46         System.out.println(a[-1]);
47     }//方法2
48 }

原文地址:https://www.cnblogs.com/zz22--/p/10705362.html

时间: 2024-08-06 20:55:07

java数组元素倒置的相关文章

Java 数组元素复制的三种方法

一.将数组元素逐个复制到目标数组中 例1 //源数组 int[] source = {10,30,20,40}; //目标数组 int[] target = new int[source.length]; for (int i = 0;i < source.length;i++){ target[i] = source[i]; } 二.使用System类的arraycopy()方法 public static void arraycopy(Object src,int srcPos,Object

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

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

将数组元素循环右移k个位置(Java实现)

用四种方法实现了将数组元素循环右移k个位置,相关的解释作为注释放在代码里面了. package movearrayelement; import java.util.BitSet; public class MoveArrayElement { /** * 每次把数组中所有元素移动一个位置,移动k轮 * @param array * @param k */ public static void moveArrayElement(int[] array, int k) { int length =

java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例

java 数组比较,元素的比较,自定义Comparator的实现,排序,查找示例 package org.rui.array.compar; import java.util.Arrays; import java.util.Random; import org.rui.generics.anonymity.Generator; /** * 程序设计的基本目标是"将保持不变的事物与会发生改变的事物相分离" * 而这是,不变的是通用的排序算法,变化的是各种对象相互比较的方式, * 因此,

在java中删除数组元素的练习

有一个有序整数数组,要求输入一个数字,在数组中查找是否有这个数,如果有,将该数作为最后一个元素(其他元素仍然有序):如果没有,则显示“数组中没有这个数!” public static void main(String[] args) { int[] m={1,2,3,4,5,6,7,8,9,10}; System.out.println("请输入一个整数:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int ind

实现数组元素互换位置(乘机理解java参数传递)

Java中函数参数是按值传递的,在实现数组元素互换位置之前,我想先说一下Java函数参数传递过程.一般情况下我们会把参数分为基本数据类型和引用数据类型,然后分别来讲参数传递,因为他们的外在表现似乎是不同的,然而,他们的本质都是值传递.在讲值传递时,请务必将"实参的副本"这五个字刻在脑海,因为它是理解值传递的关键. // 例子1 int a = 0; void value(int x) { x = 1; } value(a); System.out.println(a); // 结果是

java算法面试题:有数组a[n],用java代码将数组元素顺序颠倒

package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Array_Reverse { public static void main(String[] args) { /* * 有数组a[n],用java代码将数组元素顺序颠倒 */ int a[]={11,8,2,24,90,23}; //首先可以用集合的方法把数组元素颠倒

折半查找数组元素的下标(java)

1.用折半查找数组元素的下标 2.但前提是数组已经排序好的3.例:public static void main(String ars []){        int [] number=new int []{2,6,9,45,65,88};}publci staic int getIndex(int [] arr,int key){    int min=0,max=arr.length,mid;    while(min<=max){            mid=(min+max)>&g

java数组-----拷贝、掺入、删除元素

package cn.zxg.arrays2; /** * 测试数组的拷贝 */public class TestArrayCopy { public static void main(String[] args) { TestBaseCopy(); TestBaseCopy2(); String [] str={"阿里","京东","百度","亚马逊"}; removeElment(str,1); } //数组的拷贝 pub