当前位置:网站首页>排序方法--冒泡排序(使用数组实现一串数字的从大到小或从小到大排序)
排序方法--冒泡排序(使用数组实现一串数字的从大到小或从小到大排序)
2022-07-21 17:56:00 【Cording..】
冒泡排序的基本思想:通过对待排序序列从前向后,依次比较相邻元素的排序码
*若发现逆序则交换,使排序码较大的元素逐渐从前部移动到后部。(大多注释在代码里)
package com.atcording.java;
/*
* 数组的冒泡排序的实现
* 冒泡排序的基本思想:通过对待排序序列从前向后,依次比较相邻元素的排序码
* 若发现逆序则交换,使排序码较大的元素逐渐从前部移动到后部。
*/
public class BubbleSort {
public static void main(String[] args){
int[] arr=new int[]{2,450,63,12,78,92,438,-32,21,79};//定义一个无序数组待排序;
/*
* 设置两层循环,内层循环每循环一次找出参与循环的最大的数排列在最后位置,
* 第第二次循环找出次最大的数排列在倒数第二的位置,依次类推,外层循环的目的是确保
* 内层循环进行的次数(例如十个数字进行从小到大排序,内层循环每执行一次找出一个最大的数字排在最后,
* 第二次循环找出次最大的数排列在倒数第二的位置,依次类推,要排出十个数字的大小需要进行就此内层循环
* 所以i<arr.length指内层的循环要进行arr.length-1次,arr.length是指获取数组arr的长度为10)
*/
for(int i=0;i<arr.length;i++){//i<arr.length指内层的循环要进行arr.length-1次
for( int j=0;j<arr.length-1;j++){
if(arr[j]>arr[j+1]){
//相邻两数比较,如果前面的数大于后面的数则交换位置
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
//内循环每进行一次输出一次结果,便于观察,可注释掉
System.out.print("内层循环进行第"+(i+1)+"轮的结果如下");
System.out.println();//换行
for(int b=0;b<arr.length;b++){
System.out.print(arr[b]+" ");
}
System.out.println();//换行
}
//输出最后结果
System.out.print("最终结果如下:");
System.out.println();//换行
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
运行结果如下图所示,通过内层循环进行的每一轮的输出结果便于观察其原理
边栏推荐
- 如何快速开发一个简单实用的MES系统?
- Small game cases of aircraft dodging bullets
- Introduction to class loader
- Vscode configures markdown and the basic syntax of markdown
- Seven ways to create thread pools
- 面试题 01.02. 判定是否互为字符重排
- Tool classes encapsulated based on redistemplate
- Chrome插件开发教程
- Redis原理之HyperLogLog
- 【ACM/二分】二分清晰入门级讲解
猜你喜欢
随机推荐
Thread多线程
力扣题之整数反转
分省市县地理空间矩阵:地级市空间、地理距离矩阵等多指标数据集
实现一个js抽奖玩玩?
Laravel 关联模型的使用、一对一、一对多、多对多
JDBC transaction operation
Chrome插件开发教程
Local level cities - Import and export and trade balance (2000-2020)
Parallelism and concurrency
go Redis 管道(pipeline)运用
接口文档进化图鉴,有些古早接口文档工具,你可能都没用过
Docker series VI Docker installation redis
飞机躲子弹小游戏案例
core technology
Redis原理之HyperLogLog
EasyCVR平台设备分组新增以及编辑操作异常的问题修复
文献:案例《电影排行榜》
洛阳综合保税区正式获国务院批复同意设立
Switch virtual environment in Jupiter notebook
数组