常被提到的排序算法一(冒泡排序)

来源:互联网 发布:破壁料理机 知乎 编辑:程序博客网 时间:2024/06/08 05:27

接下来开始介绍Java中对于数组的排序,今天介绍的时冒泡排序:

冒牌排序就是将比较的数组比作两个泡泡,哪个泡泡大就继续向上升,上升的过程中会遇到其他的与他比较的数,这样依次比较,每次循环都会使一个数到达他排序后的位置。在进行下次循环,知道没有反序为止。


这里注意,冒泡排序是稳定的排序方法。


这里引出一个概念,什么是稳定的排序?

就是指当A1 = A2时,两个数经过排序后两个数的位置不变,这就是说的稳定的排序。

程序如下:

public class test04 {public static void bubbleSort(int[] source){//外部循环,设定循环次数for (int i = source.length - 1; i > 0; i--) {//从数组最后两位开始比较for (int j = 0; j < i; j++) {//比较两个数组的大小,中间的比较符号设定是正序还是反序if (source[j] > source[j+1]){swap(source , j , j+1);}}}}/* * 创建方法,由于交换数的位置 */private static void swap(int[] source, int x, int y) {int temp = source[x];source[x] = source[y];source[y] = temp;}/* * 主方法 */public static void main(String[] args) {int[] a = {1,2,3,7,3,4,12,-23,54,76};bubbleSort(a);for (int i = 0; i < 10; i++) {System.out.print(a[i] +" ");}}}


1 0
原创粉丝点击