java以最快的速度将数组的第一个为最大第二个为最小以此类推

比如说4,2,3,5,0,1排序后5,0,4,1,3,2不管长度单个还是双个都可以实现是返回数组不是输出。。。... 比如说4,2,3,5,0,1 排序后5,0,4,1,3,2 不管长度单个还是双个都可以实现 是返回数组 不是输出。。。 展开
 我来答
匿名用户
推荐于2016-11-12
展开全部

不知道这不是不是你想要的结果,如果轿贺是返枣塌回闭岩派数组的话,把最后的便利数组的结果删除就好了,经过程序执行数组的排序已经发生变化了。

百度网友14f7e688aad
2014-11-14 · TA获得超过660个赞
知道小有建树答主
回答量:830
采纳率:0%
帮助的人:646万
展开全部
//比较复杂。应该有更简单和陵的办法。
public static void main(String[] args) {
int[] nums=new int[]{4,2,3,5,0,4,4,3,1,2 兆枝};
//数组转成list
List<Integer> list=new ArrayList<Integer>();
for (int i = 0; i < nums.length; i++) {
list.add(nums[i]);
}

list=sort(list,new ArrayList<Integer>(),list.size());

//list转数组
Object[] numss=list.toArray();



}

/**
 * @param nums
 * @param count
 */
private static List<Integer> sort(List<Integer> list,List<Integer> list1,int length) {
int index=0;
int index1=0;
int temp=list.get(0);
int temp1=list.get(0);
for (int i = 0; i < list.size(); i++) {
//得出最大值temp
if (list.get(i)>temp) 唤猜戚{
temp=list.get(i);
//保存最大值索引
index=i;
}
//得到最小值temp1
if(list.get(i)<temp1){
temp1=list.get(i);
//保存最小值索引
index1=i;
}
//最后次删除已选择的最大和最小元素并将剩下的元素放入新的list
if (i==list.size()-1) {
list1.add(list.get(index));
list1.add(list.get(index1));
if (index1>index) {
list.remove(index1);
list.remove(index);
if (list.size()==0) {
return list1;
}
i=0;
index=0;
index1=0;
temp=list.get(0);
temp1=list.get(0);
}else if(index1<index){
list.remove(index);
list.remove(index1);
if (list.size()==0) {
return list1;
}
i=0;
index=0;
index1=0;
    temp=list.get(0);
    temp1=list.get(0);
}else{
list.remove(index1);
if (list.size()==0) {
return list1;
}
i=0;
index=0;
index1=0;
temp=list.get(0);
temp1=list.get(0);
}
if (list.size()==1) {
list1.add(list.get(index1));
return list1;
}
if (list.size()==0) {
return list1;
}
}
}
return null;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式