30:根据排序标识flag给数组排序
题目描述:输入整型数组和排序标识,对其元素按照升序或降序进行排序
接口说明
原型:
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;
}
}
30:根据排序标识flag给数组排序的更多相关文章
- 1038. Recover the Smallest Number (30) - 字符串排序
题目例如以下: Given a collection of number segments, you are supposed to recover the smallest number from ...
- 30.algorithm排序小结
如果容器中是类,如果要调用sort则需要重载操作符 "<" 包含头文件 #define _CRT_SECURE_NO_WARNINGS #include <vector ...
- 37-Arrays.sort() 由大到小排序 和 对象数组排序
1. 由大到小排序: 2. 对象数组排序: 1. 由大到小排序: 注意:必需是Integer 类型的数组!!! 方法一: import java.util.Arrays; import java.ut ...
- 排序算法代码实现-Java
前言 为了准备面试,从2月开始将排序算法认认真真得刷了一遍,通过看书看视频,实践打代码,还有一部分的leetcode题,自己感觉也有点进步,将笔记记录总结发出来. 冒泡排序 该排序就是一种像泡泡浮到水 ...
- Java list的用法排序及遍历
原文地址:http://baike.xsoftlab.net/view/208.html 1用法 ·ArrayList ·LinkedList 2排序 ·数字排序 ·中文排序 ·实体类排序 3遍历 · ...
- JS表格排序
var employees = [] employees[0] = { name: "George", age: 32, retiredate: "March 12, 2 ...
- [JS深入学习]——数组对象排序
(转) JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: arrayObject. ...
- php排序函数学习
sort() 函数按升序对给定数组的值排序. 注释:本函数为数组中的单元赋予新的键名.原有的键名将被删除. 如果成功则返回 TRUE,否则返回 FALSE. <?php$my_array = a ...
- java几种常见的排序算法总结
/*************几种常见的排序算法总结***************************/ package paixu; public class PaiXu { final int ...
随机推荐
- P1143 飘飘乎居士的约会
P1143 飘飘乎居士的约会 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 一阵狂风吹过 只听“pong”的一声,飘飘乎居士降落了!!! 描述 又是美妙 ...
- 只有mdf文件而没有ldf文件修复方法
原文发布时间为:2010-09-16 -- 来源于本人的百度文章 [由搬家工具导入] 只有mdf文件而没有ldf文件修复log文件或者重新生成一个log文件的方法 EXEC sp_attach_s ...
- DataGrid关键字变色
原文发布时间为:2009-05-01 -- 来源于本人的百度文章 [由搬家工具导入] private void DataGrid1_ItemDataBound(object sender, ...
- 【电脑使用经验】怎么查看无线网络中电脑的IP地址?
1. 2. 3. 4. 5.
- SQL存储过程基础
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...
- 了解Binder机制原理和底层实现
参考:http://www.2cto.com/kf/201606/515548.html 1.Binder通信机制介绍 这篇文章会先对比Binder机制与Linux的通信机制的差别,了解为什么Andr ...
- 解决mysql 远程链接问题
grant all privileges on *.* to 'root'@'192.168.2.204' identified by '123456' with grant option;flush ...
- 洛谷—— P2417 课程
https://www.luogu.org/problemnew/show/2417 题目描述 n个学生去p个课堂,每一个学生都有自己的课堂,并且每个学生只能去一个课堂,题目要求能够安排每一个课堂都有 ...
- cogs——1008. 贪婪大陆(清华巨佬代码)——树状数组
1008. 贪婪大陆 ★★ 输入文件:greedisland.in 输出文件:greedisland.out 简单对比时间限制:1 s 内存限制:128 MB 试题四:贪婪大陆 [题 ...
- 谷歌浏览器chrome设置特定网页使用Https(ssl)访问
1.在浏览器上输入: chrome://net-internals/ 2.在以下位置输入要自动进行https访问的域名即可. 注意:域名不能用范解析,只能一个一个手动输入.