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;
}
}

 

 

望以上代码给大家带来帮助!还请各位批评指正!!!

 

posted @   技术大佬  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示