相信刚进入到编程学习的同学,在基础部分一定会涉及到排序相关的内容,那么冒泡排序也是最先接触到的。时间多年,像这些算法在工作中对于我本人来说使用比较少,但是最近在复盘的阶段,所以想起这个事情了,在此做一个记录。
这篇文章我们介绍下冒泡排序,首先来看一张图:
根据上图可以看到整个冒泡排序的流程如下:
1)按照从小到大的最终顺序来看。先比较相邻元素,如果第一个比第二个大,则交换。 2)按照每对相邻元素重复以上步骤,知道结尾最后一对,最后数即为最大数。 3)重复以上步骤,除了最后一个数 4)持续每次对越来越来的元素重复以上步骤,直到没有比较
下面来一个java版本的冒泡排序演示一下:
package com.demo.Demo; import java.util.Arrays; public class BubblingSort { private static final int nums[] = { 1, 7, 3, 0, 2, 9, 8, 5, 4, 6 }; public static void main(String[] args) { for (int i = 0; i < nums.length - 1; i++) { for (int j = 0; j < nums.length - 1 - i; j++) { if (nums[j] > nums[j + 1]) { int temp = nums[j + 1]; nums[j + 1] = nums[j]; nums[j] = temp; } } } System.out.println(Arrays.toString(nums)); } }
运行看看效果:
还没有评论,来说两句吧...