Java排序

Java 常用排序方法(直接可用)

  1. 数组自带排序(最简单)

import java.util.Arrays;

public class Main {

public static void main(String\[\] args) {

int\[\] arr = {5, 2, 9, 1, 5, 6};

// 升序排序

Arrays.sort(arr);

System.out.println(Arrays.toString(arr));

}

}

  1. 集合排序(List)

import java.util.ArrayList;

import java.util.Collections;

public class Main {

public static void main(String\[\] args) {

ArrayList<Integer> list = new ArrayList<>();

list.add(3);

list.add(1);

list.add(4);

Collections.sort(list);

System.out.println(list);

}

}

  1. 冒泡排序(手写基础)

public static void bubbleSort(int\[\] arr) {

int n = arr.length;

for (int i = 0; i < n-1; i++) {

for (int j = 0; j < n-i-1; j++) {

if (arrj > arrj+1) {

int temp = arrj;

arrj = arrj+1;

arrj+1 = temp;

}

}

}

}

  1. 选择排序

public static void selectionSort(int\[\] arr) {

int n = arr.length;

for (int i = 0; i < n-1; i++) {

int min = i;

for (int j = i+1; j < n; j++) {

if (arrj < arrmin) min = j;

}

int temp = arrmin;

arrmin = arri;

arri = temp;

}

}

  1. 插入排序

public static void insertionSort(int\[\] arr) {

int n = arr.length;

for (int i = 1; i < n; i++) {

int key = arri;

int j = i - 1;

while (j >= 0 && arrj > key) {

arrj+1 = arrj;

j--;

}

arrj+1 = key;

}

}

  1. 快速排序(常用高效)

public static void quickSort(int\[\] arr, int left, int right) {

if (left >= right) return;

int i = left, j = right, pivot = arrleft;

while (i < j) {

while (i < j && arrj >= pivot) j--;

arri = arrj;

while (i < j && arri <= pivot) i++;

arrj = arri;

}

arri = pivot;

quickSort(arr, left, i-1);

quickSort(arr, i+1, right);

}

相关推荐
Joy T8 分钟前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者10 分钟前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
天若有情67321 分钟前
C++花式魔改!手写头文件复刻Java语法,彻底打破编码思维定式
java·c++·语言做语言·jac++
西峰u2 小时前
Java单例模式|从基础到多线程安全
java·java单例模式
ClinicTech2 小时前
实验室洗瓶机的清洗系统架构与自动化控制解析
java·python
linmengmeng_13142 小时前
【总结】MyBatis-Plus批量插入与清表的正确姿势
java·spring boot·mysql·mybatis
木井巳2 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法
Sam_Deep_Thinking2 小时前
new Thread()之后发生了什么?
java·后端·面试·程序员
泡海椒2 小时前
规则引擎对比:JQuick-Java vs Drools 轻量场景选型对比
java·开发语言
wno7042 小时前
Spring Security短信验证码登录
java·python·spring