Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
作者:mrr 时间:2023-06-29 11:25:28
一、插入排序算法实现java版本
public static int[] insert_sort(int[] a)
{
for (int i = 0; i < a.length; i++)
{
for(int j=i+1;j>0&&j<a.length;j--)
{
if(a[j]<a[j-1])
{
int tmp = a[j]; //这样定义初始化逻辑上是可以的,j变量,每次tmp的值变化的
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
return a; //这里设计成不返回也行, 原数组也已经修改,已排好序
}
二、选择排序算法实现java版本
public static int[] select_sort(int[] a)
{
for (int i = 0; i < a.length; i++)
{
int min_pos = i;
for(int j=i+1;j<a.length;j++)
{
if(a[j] < a[min_pos])
{
min_pos = j;
}
}
int tmp = a[i]; // swap 操作
a[i] = a[min_pos];
a[min_pos] = tmp;
}
return a;
}
三、冒泡排序算法java实现
普通冒泡
public static int[] bubble_sort(int[] a)
{
for (int i = 0; i < a.length; i++)
{
//每一趟过后a[i]是第i小
for(int j = a.length-1;j>i;j--)//后续有j-1操作 注意j>i
{
if(a[j] < a[j-1])
{
int tmp = a[j]; // swap 操作
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
return a;
}
改进冒泡排序,提前终结
public static int[] bubble_sort_flag(int[] a)
{
boolean isChange = true;
for (int i = 0; i < a.length && isChange; i++)
{
isChange = false;
for(int j = a.length-1;j>i;j--)//后续有j-1操作 注意j>i
{
if(a[j] < a[j-1])
{
int tmp = a[j]; // swap 操作
a[j] = a[j-1];
a[j-1] = tmp;
isChange = true;
}
}
}
return a;
}
以上所述是小编给大家介绍的Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)网站的支持!
标签:java,排序算法,冒泡排序算法,插入排序,选择排序算法
0
投稿
猜你喜欢
JAVA并发图解
2023-03-26 03:11:41
Socket结合线程池使用实现客户端和服务端通信demo
2023-01-21 20:23:50
C# 中DateTime 的使用技巧汇总
2022-04-17 07:32:05
SWT(JFace) Menu、Bar...体验代码
2022-01-29 08:34:46
浅谈Java工程读取resources中资源文件路径的问题
2021-07-20 19:13:45
详解JAVA中的OPTIONAL
2022-08-22 17:09:04
Spring Cloud整合XXL-Job的示例代码
2021-06-09 06:01:59
关于Springboot的日志配置
2022-12-16 10:32:33
Android手势密码view学习笔记(二)
2023-08-14 16:06:35
Android根据不同身份配置APP对应的不同模块方法
2023-09-25 05:22:36
详解C#如何读写config配置文件
2023-09-23 01:18:34
Android中EditText屏蔽第三方输入法表情的方法示例
2021-07-23 01:13:11
C#读取目录下所有指定类型文件的方法
2023-05-01 10:59:14
springboot后端配置多个数据源、Mysql数据库的便捷方法
2022-05-01 07:21:37
Gradle快速安装及入门
2021-11-25 09:33:28
springcloud feign传输List的坑及解决
2023-06-20 18:31:57
android电源信息查看(电量、温度、电压)实例代码
2022-04-30 15:41:04
C#实现两个richtextbox控件滚动条同步滚动的简单方法
2023-10-14 19:34:51
微信Android热更新Tinker使用详解(星空武哥)
2023-06-08 04:08:17
Java 异步编程实践_动力节点Java学院整理
2023-06-18 17:04:12