java数组排序源码_Java 数组工具类排序,最大值最小值等

public class ArrayUtils{

/**

* 返回数组最大值

*

* @param a

* @return

*/

public static int max(int[] a){

// 返回数组最大值

int x;

int aa[]=new int[a.length];

System.arraycopy(a,0,aa,0,a.length);

x=aa[0];

for(int i=1;i

if(aa[i]>x){

x=aa[i];

}

}

return x;

}

/**

* 返回数组最小值

*

* @param a

* @return

*/

public static int min(int[] a){

// 返回数组最小值

int x;

int aa[]=new int[a.length];

System.arraycopy(a,0,aa,0,a.length);

x=aa[0];

for(int i=1;i

if(aa[i]

x=aa[i];

}

}

return x;

}

/**

* 将一个数组的第N到M项由小到大排列,将排列后的结果返回

*

* @param aa

* @param N

* @param M

* @return

*/

public static double[] up_order(double[] aa,int N,int M){

// 将一个数组的第N到M项由小到大排列,将排列后的结果返回

double q[]=new double[M];

double[] a=new double[aa.length];

System.arraycopy(aa,0,a,0,aa.length);

for(int kk=0;kk

for(int k=N-1;k

if(a[k]>a[k+1]){

q[k]=a[k];

a[k]=a[k+1];

a[k+1]=q[k];

}

}

}

return a;

}

/**

* 将一个数组的第N到M项由大到小排列,将排列后的结果返回

*

* @param a

* @param N

* @param M

* @return

*/

public static double[] down_order(double[] a,int N,int M){

// 将一个数组的第N到M项由大到小排列,将排列后的结果返回

double[] q=new double[M];

double[] aa=new double[a.length];

System.arraycopy(a,0,aa,0,a.length);

for(int kk=0;kk

for(int k=N-1;k

if(aa[k]

q[k]=aa[k];

aa[k]=aa[k+1];

aa[k+1]=q[k];

}

}

}

return aa;

}

/**

* 将一个数组的第N与M项交换,将交换后的结果返回

*

* @param aa

* @param N

* @param M

* @return

*/

public static double[] change(double[] aa,int N,int M){

// 将一个数组的第N与M项交换,将交换后的结果返回

double[] a=new double[aa.length];

System.arraycopy(aa,0,a,0,aa.length);

double mid=a[M-1];

a[M-1]=a[N-1];

a[N-1]=mid;

return a;

}

/**

* 将一个数组从第N项到M项倒序交换,将排列后的结果返回

*

* @param aa

* @param N

* @param M

* @return

*/

public static double[] changeAll(double[] aa,int N,int M){

// 将一个数组从第N项到M项倒序交换,将排列后的结果返回

double[] a=new double[aa.length];

System.arraycopy(aa,0,a,0,aa.length);

double q[]=new double[M];

for(int k=N-1;k

q[k]=a[k];

a[k]=a[(M+N)-k-2];

a[(M+N)-k-2]=q[k];

}

return a;

}

/**

* 将M分解因式后赋值给数组

*

* @param M

* @return

*/

public static int[] factor(int M){

// 将M分解因式后赋值给数组a

int n=0;

int M1=M;

for(int k=2;k

if((M%k)==0){

n++;

M=M/k;

k=1;

}

}

n++;

int[] a=new int[n];

n=0;

for(int k=2;k

if((M1%k)==0){

a[n]=k;

n++;

M1=M1/k;

k=1;

}

}

a[n]=M1;

return a;

}

}

时间: 05-19

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(1400):多人管理20代码优化

// 引用expess框架 const express require(express); // 处理路径 const path require(path); // 引入body-parser模块 用来处理post请求参数 const bodyPaser require(body-parser); // 导入express-session模块 const session require(express-session); // 创建网站服务…

C#判断点和直线的位置关系

/// <summary>/// 判断点和直线的位置关系/// </summary>/// <param name"LinePntA">直线上的一点</param>/// <param name"LinePntB">直线上的另一点</param>/// <param name"PntM">需要判断的点<…

前端学习(1401):多人管理21新增用户

const { User } require(../../model/user);module.exports async (req, res) > {// 获取到地址栏中的id参数const { message, id } req.query;// 如果当前传递了id参数if (id) {// 修改操作let user await User.findOne({_id: id});// 渲染用户编辑页面(修改)res.rende…

C# 添加类库依赖

转载于:https://www.cnblogs.com/dekevin/p/4350049.html

前端学习(1402):多人管理22验证joi

// 引入joi模块 const Joi require(joi);// 定义对象的验证规则 const schema {username: Joi.string().min(2).max(5).required().error(new Error(username属性没有通过验证)),birth: Joi.number().min(1900).max(2020).error(new Error(birth没有通过验证)) };async funct…

win2003+IIS6+PHP5.3.8+MSSQL2008的安装配置

转载于:https://www.cnblogs.com/nxping/p/4351033.html

Linux给Java程序设置端口_扫描服务端口的Java程序

在Linux下用C写了一个扫描指定IP地址对外开放端口号的程序。扫描自己的机器的端口号速度还是挺快的&#xff0c;用编写的程序扫描在美国的服务器时&#xff0c;等了10分钟&#xff0c;端口号才扫到1000左右。于是就想到了用多线程&#xff0c;可是linux c的多线程不会&#xff…

第二次北京之行-游颐和园

转载于:https://www.cnblogs.com/motadou/p/4354613.html

前端学习(1404):多人管理24joi验证

// 引入用户集合的构造函数 const { User, validateUser } require(../../model/user); // 引入加密模块 const bcrypt require(bcryptjs);module.exports async(req, res, next) > {try {await validateUser(req.body)} catch (e) {// 验证没有通过// e.message// 重定向…

前端学习(1405):多人管理25node.js—安装bcrypt出现错误的解决办法

cryptjs是一个第三方密码加密库&#xff0c;是对原有bcrypt的优化&#xff0c;优点是不需要安装任何依赖 安装 引入bcryptjs库var bcrypt require(bcryptjs); 异步用法(Async) //生成hash密码 var bcrypt require(bcryptjs); bcrypt.genSalt(10, function(err, salt) {bcry…

java中级做dao模型_DAO-持久层-领域对象-贫血模型

原文关于"贫血模型"的讨论几乎没有停止过,在openfans.org的开发过程中,我们也讨论了很久,我觉的有很多东西应该记下来:明确一下意思先:DAO:数据操作对象,会操作数据库持久层:能提供对象持久化服务的一系列组件或服务领域对象:描述领域模型的对象,是通过业务分析进行系…

JSP分页技术的实现(利用当前页进行前后加减,并利用href进行当前页面传值,传值当然是那个当前值变量)...

一、可滚动结果集 Connection con DriverManager.getConnection(); PreparedStatement stmt con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY); ResultSet rs stmt.executeQuery(); 常用方法&#xff1a; (1)rs.absolute(n); 可以…

前端学习(1406):多人管理26邮箱地址是否存在

// 引入用户集合的构造函数 const { User, validateUser } require(../../model/user); // 引入加密模块 const bcrypt require(bcryptjs);module.exports async(req, res, next) > {try {await validateUser(req.body)} catch (e) {// 验证没有通过// e.message// 重定向…

我的世界JAVA刷怪范围_《我的世界》只有刷怪蛋能够刷新生物吗?并不是,还有一种物品!...

《我的世界》MC能够刷新生物的只有刷怪蛋吗&#xff1f;不&#xff0c;还有一种物品&#xff01;《我的世界》只有刷怪蛋能够刷新生物吗&#xff1f;并不是&#xff0c;还有一种物品&#xff01;在沙盒游戏《我的世界》里面&#xff0c;绝大部分的生物会自然生成于主世界、下界…

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次&#xff0c;通过服务器端获取手机上传过来的文件信息并做相应处理&#xff1b;采用AndroidStruts2技术。 一、Android端实现文件上传 1)、新建一个Android项目命名为androidUpload&#xff0c;目录结构如下&#xff1a; 2)、新建FormFile类&#xff…

前端学习(1407):多人管理27代码优化

// 创建用户集合 // 引入mongoose第三方模块 const mongoose require(mongoose); // 导入bcrypt const bcrypt require(bcryptjs); // 引入joi模块 const Joi require(joi); // 创建用户集合规则 const userSchema new mongoose.Schema({username: {type: String,required:…

java enumerator_NSEnumerator使用

集合类(如&#xff1a;NSArray、NSSet、NSDictionary等)均可获取到NSEnumerator, 该类是一个抽象类&#xff0c;没有用来创建实例的公有接口。NSEnumerator的nextObject方法可以遍历每个集合元素&#xff0c;结束返回nil&#xff0c;通过与while结合使用可遍历集合中所有项。例…

前端学习(1408):多人管理28用户信息展示

userpage.js // 导入用户集合构造函数 const { User } require(../../model/user);module.exports async (req, res) > {// 接收客户端传递过来的当前页参数let page req.query.page || 1;// 每一页显示的数据条数let pagesize 10;// 查询用户数据的总数let count awa…

java c3p0获取主键_Tomcatc3p0配置jnid数据源2种实现方法解析

使用c3p0导入c3p0jar包com.mchangec3p00.9.5.2在tomcat的context.xml文件加入数据源配置auth"Container"description"DB Connection"driverClass"com.mysql.jdbc.Driver"maxPoolSize"100" minPoolSize"2"acquireIncrement&q…