当前位置:网站首页>排序方法:冒泡排序(使用数组实现一串数字的顺序排列(从大到小或从小到大))
排序方法:冒泡排序(使用数组实现一串数字的顺序排列(从大到小或从小到大))
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]+" ");
}
}
}
运行结果如下图所示,通过进行内层循环每一轮 结束后输出排列结果来便于观察冒泡排序的原理
边栏推荐
猜你喜欢
EL表达式的初步使用
【ACM/二分】二分清晰入门级讲解
Bigkey and hotspot key of redis principle
Analysis of copyonwritearraylist
包装类(类型之间的相互转化)
(1) Principle analysis of Tiktok Kwai short video watermarking
How to quickly develop a simple and practical MES system?
Leetcode703: the k-th element in data flow
SQL injection
Pointer of C language (3)
随机推荐
Mathematical operation
Laravel installs the debugbar toolbar and configures the virtual host
设备重启卡死问题分析-reboot卡死
Luoyang comprehensive bonded zone was officially approved by the State Council to be established
高频leetcode深搜部分:剑指 Offer 36. 二叉搜索树与双向链表
模拟实现库函数memcpy--复制内存块。详细理解内存重叠及精准复制问题
飞机大战分析及代码
Bitmap of redis principle
c语言之数组
c语言之指针(四)
从103个数中找到出现一次的那三个数
流
【ACM/二分】二分清晰入门级讲解
Leetcode342:4 power
Cross border trade terms
MongoDB的使用MongoTemplate操作增删改查,分页,排序,聚合(含内嵌数据),文件上传下载
高频leetcode深搜部分:733. 图像渲染
Redis原理之BigKey和热点Key
高频leetcode深搜部分:剑指 Offer 13. 机器人的运动范围
Thread多线程