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

接口说明

原型:

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

输入参数:

Integer[] pIntegerArray:整型数组

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

输出参数:    无

返回值:    void

输入描述:1、输入需要输入的整型数个数

输出描述:输出排好序的数字

输入例子

8

1 2 4 9 3 55 64 25

0

输出例子:

1 2 3 4 9 25 55 64

注意:在while循环里申请数组以及变量,函数调用处理也在循环里,否则会出现  “数组越界的错误“

下面的代码仍然有错,牛客运行说结果不对,在大量测试用例里,说结果输出多了好多,前边有一段(正确结果)是一样的,至今不知道错误在哪。

这个题也可以用两个数组,另外一个数组result[]存放排序后的数组,当flag==0,原数组copy到result,flag==1,倒过来复制到result

 package huawei2;

 import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner; import javax.naming.spi.DirStateFactory.Result; /*题目描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序
接口说明
原型:
void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag);
输入参数:
Integer[] pIntegerArray:整型数组
int iSortFlag:排序标识:0表示按升序,1表示按降序
输出参数: 无
返回值: void
输入描述:1、输入需要输入的整型数个数
输出描述:输出排好序的数字
输入例子
8
1 2 4 9 3 55 64 25
0
输出例子:
1 2 3 4 9 25 55 64*/
public class SortArrayAccordingFlag { public static void main(String[] args) {
Scanner in = new Scanner(System.in); while(in.hasNext())
{
int count = in.nextInt();
Integer arr[] = new Integer[count];
for(int i = 0;i<count;i++)
{
arr[i] = in.nextInt();
}
int flag = in.nextInt();
sortIntegerArray(arr, flag);
}
//sortIntegerArray(arr,flag);
} private static void sortIntegerArray(Integer[] arr, int flag) {
if(flag == 0)//从小到大
{
Arrays.sort(arr);
}
if(flag == 1)
{
Arrays.sort(arr, new MyComparator());
}
for(int i = 0 ; i < arr.length; i++)
{
if(i == arr.length-1)System.out.print(arr[i]);
else
System.out.print(arr[i] + " " );
}
}
}
class MyComparator implements Comparator<Integer> { @Override
public int compare(Integer o1, Integer o2) {
if(o1.intValue() < o2.intValue())
{
return 1;
}else if(o1.intValue() > o2.intValue())
{
return -1;
}
else
return 0;
}
}

最新文章

  1. Spark Application的调度算法
  2. 课堂 表单验证 JavaScript js
  3. ceph官网的ceph块设备(二)——快照相关
  4. BZOJ 2083 Intelligence test
  5. 在VMware虚拟机中配置DOS汇编开发环境!!
  6. 几款国产开源的Windows界面库
  7. ubuntu中使用nginx把本地80端口转到其他端口
  8. gif图简介
  9. CDT+Eclipse代码自动提示
  10. Linux主机规划与磁盘分区
  11. appium sendkeys 输入数字丢失问题
  12. mysql 开发进阶篇系列 53 权限与安全(账号管理的各种权限操作 上)
  13. Hadoop2.7.6_01_部署
  14. Linux C++ TCP Socket传输文件或图片实例
  15. css3属性蒙版:-webkit-mask
  16. php memcache 基础操作
  17. Anaconda的安装和更新
  18. spring相关jar包的作用讲解(转)
  19. holiday(假期)_题解
  20. web前端开发与iOS终端开发的异同[转]

热门文章

  1. openssl Rsa 分段加密解密
  2. 在做展开功能的时候,字体变多了,字体会变大的bug的解决方案
  3. 如何在MySQL中导入大容量SQL文件
  4. mdev的基本工作原理【转】
  5. alloc_chrdev_region申请一个动态主设备号,并申请一系列次设备号
  6. DOM-window下的常用子对象-location-刷新页面
  7. 2018 L2-027. 名人堂与代金券【结构体排序】
  8. Codeforces 631B Print Check (思维)
  9. PostMan的在线安装和简单使用
  10. 在Linux 双机下自己手动实现浮动ip技术