【101】数组排序

这题很简单。

题目描述

输入整型数组和排序标识,对其元素按照升序或降序进行排序

接口说明

原型:

void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag);

输入参数:

    Integer[] pIntegerArray:整型数组

int  iSortFlag:排序标识:0表示按升序,1表示按降序

输出参数:

    无

返回值:

    void

 

输入描述:

1、输入需要输入的整型数个数

输出描述:

输出排好序的数字

示例1

输入

8
1 2 4 9 3 55 64 25
0

输出

1 2 3 4 9 25 55 64

代码:
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
    public static void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag){
        //降序
        if(iSortFlag == 1){
            Arrays.sort(pIntegerArray, new Comparator<Integer>(){
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o2 - o1;
                }
                
            });
        }
        //默认是升序
        else{
            Arrays.sort(pIntegerArray);
        }
        
        for(int i = 0; i < pIntegerArray.length; i++){
            if(i == pIntegerArray.length - 1){
                //最后一个空格不能加
                System.out.print(pIntegerArray[i]);
            }else{
                System.out.print(pIntegerArray[i]+" ");
            }
        }
        //没有换行会报错
         System.out.println();
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        //不能缺少while(sc.hasNext())
        while(sc.hasNext()){
            int times = sc.nextInt();
            Integer[] arr = new Integer[times];
            for(int i = 0; i < times; i++){
                arr[i] = sc.nextInt();
                }
            int flag = sc.nextInt();
            sortIntegerArray(arr, flag);
        }
    }
}

 

posted @ 2017-10-18 16:24  nomico271  阅读(212)  评论(0)    收藏  举报