专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java 七大排序(详解 + 代码 + 变种)

temp10 2024-10-24 17:14:52 java教程 8 ℃ 0 评论

目录

1. 概念

Java 七大排序(详解 + 代码 + 变种)

1.1 排序

1.2 稳定性(重要)

1.3 应用

2. 七大基于比较的排序-总览

2.1 内部排序 & 外部排序

a. 内部排序(在内存中)

b. 外部排序(依赖硬盘)

3. 七大排序

0: 交换三连

1. 冒泡排序

2. 选择排序

a. 单向选项排序

b. 双向选项排序

3. 直接插入排序

a. 直接插入排序

b. 折半插入排序

4.希尔排序

5. 堆排序

6. 归并排序

a. 归并排序

b. 归并排序迭代写法

7. 快速排序

a. 一路快排(前后遍历)

b. 二路快排

c. 三路快排

d. 非递归快排

e. 挖坑法

4. 七大排序代码合集


1. 概念

1.1 排序

1.2 稳定性(重要)

1.3 应用


2. 七大基于比较的排序-总览

2.1 内部排序 & 外部排序

a.内部排序(在内存中)


b.外部排序(依赖硬盘)

3. 七大排序

0: 交换三连

1. 冒泡排序

稳定性:稳定

2. 选择排序

a. 单向选项排序

每一次从无序区间 选出最大(或最小) 的一个元素,存放在无序区间的最后(或最前),直到全部待排序的数据元素排完 。

稳定性:不稳定

b. 双向选项排序

每一次从无序区间选出最小 + 最大的元素,存放在无序区间的最前和最后,直到全部待排序的数据元素排完 。

3. 直接插入排序

a. 直接插入排序

整个区间被分为 有序区间 和 无序区间,每次选择无序区间的第一个元素,在有序区间合适位置插入。

稳定性:稳定

b. 折半插入排序

在有序区间选择数据应该插入的位置时,因为区间的有序性,可以利用折半查找的思想。


4.希尔排序

稳定性:不稳定

5. 堆排序


5.3 性能分析

稳定性:不稳定

6.归并排序

a. 归并排序

稳定性:稳定

b. 归并排序迭代写法


7.快速排序

a.一路快排(前后遍历)

稳定性:不稳定

b.二路快排



c. 三路快排

d. 非递归快排

e. 挖坑法

原创作者:爱干饭的猿

链接:https://blog.csdn.net/m0_62218217/article/details/123618731

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表