最简单易懂的java数组排序方法整理
作者:关键我是你杰哥 发布时间:2023-01-03 18:56:41
标签:java,数组,排序
前言
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。本文就给大家介绍了关于最简单易懂的java数组排序方法,下面话不多说了,来一起看看详细的介绍吧
方法如下:
1、快速排序:首先是最简单的Array.sort,直接进行排序:
public static void main(String[] args) {
int[] arr = {4,3,5,1,7,9,3};
Arrays.sort(arr);
for (int i : arr){
System.out.println(i);
}
点击运行即可输出已排序的数组数字。
2、部分排序法:使用Array.sort还可进行选择想要排序的部分数字,如将下角标编号为1~4的数字进行排序,其他数字顺序不变。
public static void main(String[] args) {
int[] arr = {4,3,5,1,2,9,3,0};
Arrays.sort(arr,1,4);
for (int i = 0;i<arr.length;i++){
System.out.print(arr[i]+",");
}
}
输出结果为:4,1,3,5,2,9,3,0, 可见仅下标为1~4的数字进行了排序。
3、冒泡排序法:顾名思义,从下到上,两两进行比较,越小的越往上,从而形成由小到大的排序。
public static void bubble(int[] arr){
int temp;
//根据角标进行比较,
for(int i = 0; i<arr.length; i++){
//j是数组的最后一个角标
for (int j = arr.length-1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
//从后往前进行比较,小数往前,一轮之后最小数就在最前面了
temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {3,22,5,3,66,2,9};
bubble(arr);
//使用foreach循环输出
for(int x : arr){
System.out.println(x);
}
//使用字符串表达形式输出,输出形式更为直观
System.out.println(Arrays.toString(arr));
}
来源:https://www.cnblogs.com/yjboke/p/8488144.html


猜你喜欢
- 1. 需要事先将jar包 放在kettle 的 libext 目录,kettle 在启动时会自动加载libext 目录下的所有 jar 包。
- 看到这个sweet-alert-dialog很亲切,因为前端开发本人用的提示就是这个js插件,java牛人很厉害,直接弄成一个java包插件
- 开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠,有两种方式: &
- 本文实例讲述了Android Service中使用Toast无法正常显示问题的解决方法。分享给大家供大家参考,具体如下:在做Service简
- 本文实例为大家分享了java贪吃蛇游戏展示的具体代码,供大家参考,具体内容如下1、采用MVC(model、view、control)框架模式
- 一、数组与数组元素Java中数组是引用类型数组的元素可以是基本类型也可以是引用类型,弄清数组元素的类型可以帮助我们去理解数组元素默认初始化二
- 本文实例讲述了Java使用组合模式实现表示公司组织结构功能。分享给大家供大家参考,具体如下:一、模式定义组合模式:将对象组合成树形结构以表示
- 一.前言RabbitMQ 是一种快速、灵活、可靠的消息传递方式,可用于构建分布式应用程序、异步处理任务、实现消息队列等。下面是 Java 原
- 一提到Android中页面的切换,你是不是只想到了startActivity启动另一个Activity?其实在Android中,可以直接利用
- 最近发现线上监控有个SQL调用量很大,但是方法的调用量不是很大,查看接口实现,发现接口是做了缓存操作的,使用Spring cache缓存注解
- 起因最近在写CRUD的时候,发现有个分页的VO写的健壮性比较差,一时手痒改了一下,没想到改了之后好几个功能都出现了问题。原VO关键代码如下:
- 最近在研究springboot实现FastJson解析json数据的方法,那么今天也算个学习笔记吧!添加jar包:<dependenc
- 本文实例讲述了C#实现读取指定盘符硬盘序列号的方法。分享给大家供大家参考,具体如下:using System;using System.IO
- 1. 线程转储简介线程转储(Thread Dump)就是JVM中所有线程状态信息的一次快照。线程转储一般使用文本格式, 可以将其保存到文本文
- 翻译自 Manju lata Yadav 2019年6月2日 的博文 《Difference Between Struct And Clas
- 本文实例讲述了Java泛型类与泛型方法的定义。分享给大家供大家参考,具体如下:Java泛型类的定义一 点睛泛型类定义的语法如下:[访问修饰符
- package com.cooly;import java.util.LinkedList;/*** @author coolyqq*模拟打
- 前段时间做课程作业网站后端,运用Spring boot+MyBatis的框架进行设计,Postman进行接口的检测,出现了一些问题。出现的问
- 代码很简单,直接上代码,大家参考使用吧package com.it.login.service;import java.io.Buffere
- 前言Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Mi