Java学习之路————冒泡排序
冒泡排序:是十分经典的排序之一
冒泡的代码的主要思想:每一轮排序后,排序的次数就会减一。
例如:有三个不一样的数(3、2、1),要你用冒泡排序去将这一列数从小到大排(排成1,2,3),第一轮排序,会比较两次(第一次排成:先比较3和2,结果:(2,3,1),第二次排成:再比较3和1,结果:(2,1,3),第二轮:只比较一次(只比较2和1,就排成:(1,2,3))。
第一轮:(3,2,1)→(2,3,1)→(2,1,3)
第二轮:(2,1,3)→(1,2,3)
功能:比较常用于对数组内的数值进行从大到小(或从小到大)的排序。
活学活用:
import java.util.Scanner;
public class MaoPao03 {
public static void main(String[] args) {
//用命令行输入n个数,并对这n个数进行从大到小排序
System.out.println("请输入对几个数字进行从大到小排序");
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt(); //确定数组容量n
int a[]=new int[n];
System.out.println("请输入"+n+"个数字:");
System.out.println();
for (int i = 0; i < a.length; i++) { //输入n个值
System.out.println("请输入第"+(i+1)+"个数:");
a[i] = scanner.nextInt();
}
MaoPao(a); //调用冒泡排序方法
System.out.println("数组从大到小排为:");
for (int i = 0; i < a.length; i++) //按从大到小排序输出n个值
System.out.print(a[i]+"\t");
}
public static int[] MaoPao(int[]a){ //冒泡排序方法
int b;
for (int i1 = 0; i1 < a.length; i1++) {
boolean flag=false;
for (int j=0;j<a.length-1-i1;j++){
if (a[j+1]>a[j]){ //从大到小
b=a[j+1]; //数值交换
a[j+1]=a[j];
a[j]=b;
flag=true;
}
if(!flag){//防止无意义的比较
break;
}
}
}
return a;
}
}

望以上代码给大家带来帮助!还请各位批评指正!!!
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性