java冒泡排序算法代码
/**
* 原理:
* 进行n次循环,每次循环从后往前对相邻两个元素进行比较,小的往前,大的往后
*
* 时间复杂度:
* 平均情况:O(n^2)
* 最好情况:O(n)
* 最坏情况:O(n^2)
*
* 稳定性:稳定
**/
public class 冒泡排序 {
public int[] bubbleSort(int[] a, int n) {
for (int i = 0; i < n; i++) {
int flag = 0;
for (int j = n - 1; j > i; j--) {// i or i-1 ?
if (a[j] < a[j - 1]) {
int x = a[j];
a[j] = a[j - 1];
a[j - 1] = x;
flag = 1;
}
}
if (flag == 0)
break;
}
return a;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = new int[] { 25, 56, 32, 20, 1, 5, 89, 3, 8, 41 };
冒泡排序 sort = new 冒泡排序();
sort.bubbleSort(a, a.length);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
相关文章
Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑
这篇文章主要介绍了Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑,本文一步步给大家分享解决方法,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-12-12解决elastic-job-ui在使用druid作为数据库连接池时作业维度报错问题
这篇文章主要介绍了解决elastic-job-ui在使用druid作为数据库连接池时作业维度报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-04-04又又叕出BUG啦!理智分析Java NIO的ByteBuffer到底有多难用
网络数据的基本单位永远是byte,Java NIO提供ByteBuffer作为字节的容器,但该类过于复杂,有点难用.本篇文章就带大家简单了解一下 ,需要的朋友可以参考下2021-06-06解析Springboot集成Tile38客户端之Set命令实现示例
这篇文章主要为大家介绍了解析Springboot集成Tile38客户端之Set命令实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-08-08
最新评论