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
  • asp之家 软件编程 m.aspxhome.com