当前位置:编程学习 > JAVA >>

数组分割两半


一个数组包含这些值

从中间分成两个数组

就从相等两个数据那里开始分 --------------------编程问答-------------------- 不知道你这个问题是想要很有效的方法还是简单可行的方法。
还有看你的这个例子。感觉,你就先遍历数组,找到相同的地址,几下下标,使用Array.Copy不就行了? --------------------编程问答-------------------- 嗯,用楼上的方法,数组分裂以后递归新数组 --------------------编程问答--------------------
引用 1 楼 commanager 的回复:
不知道你这个问题是想要很有效的方法还是简单可行的方法。
还有看你的这个例子。感觉,你就先遍历数组,找到相同的地址,几下下标,使用Array.Copy不就行了?


是啊,这种问题应该没有什么特殊的办法的啊。

主要就是找到相同的那个地方的下标,然后就是copy的事情了。 --------------------编程问答-------------------- O(∩_∩)O哈哈~如此对称,那就直接1/2长度 切两半 分装得了 --------------------编程问答--------------------
引用 4 楼 qiyuexuel 的回复:
O(∩_∩)O哈哈~如此对称,那就直接1/2长度 切两半 分装得了

下面多了一个 园南大街公... --------------------编程问答-------------------- 最最笨 也是最最直接的写法看下面代码,可以自己想想,这个实现方式有很多,很简单的。
package com.test;

import java.util.ArrayList;
import java.util.List;

public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");

int middleValue = list.size() / 2;
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();

for(int i=0; i<list.size(); i++){
if(i < middleValue){
list1.add(list.get(i));
} else {
list2.add(list.get(i));
}
}
System.out.println("list1 = " + list1);
System.out.println("list2 = " + list2);
}

}
--------------------编程问答-------------------- 1.首先找到数组中的相等的位置 k
2.copy数组0-k  k+1-(length-1)
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,