Java冒泡排序
public class BubbleSort{
public static void main(String[] args){
//冒泡排序
/*
1.一共n个元素
2.一共进行n-1轮排序,可以看成外层循环
3.每1轮循环可以确定1个数的位置,比如第1轮排序确定最大数,
第二轮确定第2大的数位置,以此类推
4.当进行比较时,如果前面的数大于后面的数,就交换
5.每轮比较的次数在减少(n-1)->(n-2)->(n-3)->....->1
*/
int temp = 0;
int arr[]={24,45,84,12,15};
for(int i = 0;i<arr.length-1 ;i++){//循环n-1次
for(int j = 0 ; j< arr.length-i-1 ; j++){//初始n-1次排序,每次循环后递减一次排序
if(arr[j]>arr[j+1])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
for(int j = 0 ; j< arr.length ; j++){
System.out.print(arr[j]+"\t");
}
}
}
//优化一下,当冒牌排序在某次已经达到需要的效果终止排序
int temp = 0;
int arr[]={1,2,3,5,4};
for(int i = 0;i<arr.length-1 ;i++){//循环n-1次
int count = 0;//用来标记是否提前终止循环
for(int j = 0 ; j< arr.length-i-1 ; j++){//初始n-1次排序,每次循环后递减一次排序
if(arr[j]>arr[j+1])
{
count++;
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
System.out.println("*****第"+(i+1)+"轮排序*****");
for(int k = 0 ; k< arr.length ; k++){
System.out.print(arr[k]+"\t");
}
System.out.print("\n");
if(count == 0){
break;
}
count = 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~