Java冒泡排序
冒泡排序
- 冒泡排序是最出名的排序算法之一,共有八大排序!
- 两层循环,外层控制冒泡,里层依次进行比较
代码示例:
public class ArrayDemo09 {
public static void main(String[] args) {
/*冒泡排序
1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换二者位置
2.每一次比较就会产生一个最大,或者最小的值
3.下一轮则可以少一次排序
4.以此循环,知道结束
*/
int[] a={1,5,74,9,45,12,4,1,12,1,2};
int[] sort=sort(a);
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] array){
int temp=0;
//首先是外层循环,控制我们循环要走的次数
for (int i = 0; i < array.length-1; i++) {
//内层循环,判断两个数,如果前者比后者大,则交换位置
//可以通过flag标识减少没有意义的比较
boolean flag=false;
for (int j = 0; j < array.length-1-i; j++) {
//比较,把大的数往前面排,如果想把大的数往后排就把符号改为<
if (array[j+1]>array[j]){
//较大的数储存在临时变量中
temp=array[j];
//交换位置
array[j]=array[j+1];
array[j+1]=temp;
flag=true;
}
}
if (flag=true){
//当循环结束的时候,跳出循环,能减少一下次数,对代码进行优化
break;
}
}
return array;
}
}
输出:
[74, 45, 12, 12, 9, 5, 4, 2, 1, 1, 1]
本文来自博客园,作者:星余明,转载请注明原文链接:https://www.cnblogs.com/lingstar/p/16460360.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理