给定一个数组input[] ,如果数组长度n为奇数

package njupt.cn;

import java.util.Arrays;

/****
* 给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output
[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}

函数接口 void sort(int input[[, int n, int output[])

* @author user
*
*/
public class eight {
public static void main(String[] args){
int[] input=new int[]{3,6,1,9,7,8};
int n=6;
int[] output=new int[6];
sort(input,n,output);

}

private static void sort(int input[], int n, int output[]) {
// TODO Auto-generated method stub
int t=n/2;
int tt=(n-1)/2;
int[] os=new int[t];
int[] js=new int[tt];
Arrays.sort(input);
for(int i=0;i<n;i++){
System.out.println("input[]="+input[i]);
}

if(n%2==0){
output[t]=input[n-1];
System.out.println("zhongjian ou"+output[t]);
for(int i=0;i<n;i=i+2){
os[i/2]=input[i];
System.out.println("os"+os[i/2]);
}
for(int i=1;i<n-1;i=i+2){
js[i/2]=input[i];
System.out.println("js"+js[i/2]);
}
for(int i=0;i<t;i++){
output[i]=os[i];
System.out.println("out"+output[i]);
}
for(int i=0;i<tt;i++){
output[n-1-i]=js[i];
System.out.println("put"+output[n-1-i]);
}
for(int i=0;i<n;i++){
System.out.println(output[i]);
}


}else if(n%2==1){
//jishu
output[t]=input[n-1];
System.out.println("zhongjian"+output[t]);
for(int i=0;i<n-1;i=i+2){

os[i/2]=input[i];
System.out.println("---"+os[i/2]);
}
for(int i=1;i<n-1;i=i+2){
js[i/2]=input[i];
System.out.println(">>>>"+js[i/2]);
}
for(int i=0;i<tt;i++){
output[i]=js[i];
System.out.println("out"+output[i]);
}
for(int i=0;i<t;i++){
output[n-1-i]=os[i];
System.out.println("put"+output[n-1-i]);


}
for(int i=0;i<n;i++){
System.out.println("output"+output[i]);
}


}

}
}

posted @ 2016-07-05 16:32  chengzheng  阅读(865)  评论(0编辑  收藏  举报