用java如何倒置一维数组元素
7个回答
展开全部
第一个和最后一个交换,第二个和倒数第二个交换,循环数组长度的一半就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本的算法是将数组中第1个元素与最后1个元素呼互换,将第2个与倒数第2个元素互换,依次类推。算法转成JAVA代码如下例子:
int[] a={1,2,3,4,5,6,7}; //一维数组
int len = a.length; //数组长度
int num = (len)/2; //处理的个数(按照一半来对调数组元素即可)
int temp;
for(int i=0; i<num; i++)
{
temp = a[i];
a[i] = a[len-i-1];
a[len-i-1] = temp;
}
for(int j=0;j<len;j++)
{
System.out.print(a[j]+" ");
}
int[] a={1,2,3,4,5,6,7}; //一维数组
int len = a.length; //数组长度
int num = (len)/2; //处理的个数(按照一半来对调数组元素即可)
int temp;
for(int i=0; i<num; i++)
{
temp = a[i];
a[i] = a[len-i-1];
a[len-i-1] = temp;
}
for(int j=0;j<len;j++)
{
System.out.print(a[j]+" ");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.lang.reflect.Array;
public class Test {
/**
* 倒置一维数组元素。此方法只对引用类型对象的数组有效
*
* @param src 源数组
* @return 倒置之后的数组
*/
public static <T> T[] warp(T[] src) {
int len = src.length;
// 建立一个与源数组元素类型相同的数组
T[] dest = (T[]) Array.newInstance(src[0].getClass(), len);
// 为了防止修改源数组,将源数组拷贝一份副本
System.arraycopy(src, 0, dest, 0, len);
T temp;
// 将顺位第i个与倒数第i个交换
for (int i = 0; i < len / 2; ++i) {
temp = dest[i];
dest[i] = dest[len - i - 1];
dest[len - i - 1] = temp;
}
return dest;
}
public static void main(String[] args) {
Integer[] origin = new Integer[] { 1, 2, 3, 9, 5, 6, 0, };
for (Integer i : warp(origin)) {
System.out.print(i + " ");
}
String[] strings = new String[] { "cat", "monkey", "rabbit", "bunny",
"dog", "puppy" };
for (String s : warp(strings)) {
System.out.print(s + " ");
}
}
}
public class Test {
/**
* 倒置一维数组元素。此方法只对引用类型对象的数组有效
*
* @param src 源数组
* @return 倒置之后的数组
*/
public static <T> T[] warp(T[] src) {
int len = src.length;
// 建立一个与源数组元素类型相同的数组
T[] dest = (T[]) Array.newInstance(src[0].getClass(), len);
// 为了防止修改源数组,将源数组拷贝一份副本
System.arraycopy(src, 0, dest, 0, len);
T temp;
// 将顺位第i个与倒数第i个交换
for (int i = 0; i < len / 2; ++i) {
temp = dest[i];
dest[i] = dest[len - i - 1];
dest[len - i - 1] = temp;
}
return dest;
}
public static void main(String[] args) {
Integer[] origin = new Integer[] { 1, 2, 3, 9, 5, 6, 0, };
for (Integer i : warp(origin)) {
System.out.print(i + " ");
}
String[] strings = new String[] { "cat", "monkey", "rabbit", "bunny",
"dog", "puppy" };
for (String s : warp(strings)) {
System.out.print(s + " ");
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.io.*;
import java.util.Vector;
public class test {
public static void main(String args[]) throws IOException{
String a[]={"1","2","3","4","5","6"};
test t=new test();
t.sort(a);
}
public void sort(Object[] a){
int time=a.length/2;
for(int i=0;i<=time;i++){
Object cache=a[a.length-i-1];
a[a.length-i-1]=a[i];
a[i]=cache;
}
for(int i=0;i<a.length;i++){
System.out.print(a[i].toString());
}
}
}
如上可行
import java.util.Vector;
public class test {
public static void main(String args[]) throws IOException{
String a[]={"1","2","3","4","5","6"};
test t=new test();
t.sort(a);
}
public void sort(Object[] a){
int time=a.length/2;
for(int i=0;i<=time;i++){
Object cache=a[a.length-i-1];
a[a.length-i-1]=a[i];
a[i]=cache;
}
for(int i=0;i<a.length;i++){
System.out.print(a[i].toString());
}
}
}
如上可行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询