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);

}

相关推荐
这个DBA有点耶2 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_3 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky4 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
云云只是个程序马喽5 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
C137的本贾尼6 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
Flittly6 小时前
【AgentScope Java新手村系列】(19)多模态-图像音频视频
java·spring boot·spring
Javatutouhouduan7 小时前
国内大厂Java面试高频题库(2026突击版)
java·架构师·java面试·java面试题·后端开发·java程序员·java八股文
Tim_107 小时前
【C++】017、new/delete与malloc/free的区别
java·数据结构·算法
青山木7 小时前
一把 Redis 分布式锁,踩透四个坑:锁争抢、僵尸锁、锁过期、锁丢失
java·数据库·redis·后端
Java内核笔记7 小时前
万字避坑!Spring Boot 3.x 升 4.0 最全升级指南(附 Migration Checklist,建议收藏⭐)
java·后端