冒泡排序原理及不同进阶
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.
冒泡排序算法的原理如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
在实际解决问题或答题时要考虑到占用内存和效率,所以就有了不同程度的冒泡排序,计算的次数减少,占用内存逐渐减少,效率逐渐提高。
初级版
import java.util.Scanner;
public class exam1 {
public static void main(String[] args) {
int[] nums =new int[5];
Scanner sc = new Scanner(System.in);
System.out.println(\"请输入五个整型数据:\");
for(int i=0;i<nums.length;i++) {
nums[i] = sc.nextInt();
}
int temp = 0;
for(int j=1;j<nums.length;j++) {
for(int i=0;i<nums.length-1;i++) {
if(nums[i]>nums[i+1]) {
temp = nums[i];
nums[i] = nums[i+1];
nums[i+1] = temp;
}
}
}
for(int num :nums) {
System.out.print(num+\"\\t\");
}
}
}
升级版
int temp = 0;
for(int j=1;j<nums.length;j++) {
for(int i=0;i<nums.length-j;i++) {
if(nums[i]>nums[i+1]) {
temp = nums[i];
nums[i] = nums[i+1];
nums[i+1] = temp;
}
}
}
终极版
int temp = 0;
boolean flag = true;
for(int j=1;j<nums.length;j++) {
flag = false;
for(int i=0;i<nums.length-j;i++) {
if(nums[i]>nums[i+1]) {
temp = nums[i];
nums[i] = nums[i+1];
nums[i+1] = temp;
flag = true;
}
}
}
继续阅读与本文标签相同的文章
上一篇 :
做网站-如何将设计稿还原为网页
下一篇 :
简单的解释,让你秒懂“最优化” 问题
-
干货送上,小程序运动步数实战分享
2026-05-19栏目: 教程
-
ZAO 背后的深度学习算法原理浅析
2026-05-19栏目: 教程
-
应用优雅上下线
2026-05-19栏目: 教程
-
FFMPEG常用命令收录(持续更新)
2026-05-19栏目: 教程
-
OpenSSL 1.1.1的裁剪
2026-05-19栏目: 教程
