冒泡排序

冒泡排序

原理

  • 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  • 针对所有的元素重复以上的步骤,除了最后一个。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

java实现

public class Demo {

    public static void main(String[] args) {
        int[] nums1 = {5, 56, 5, 65, 56, 56, 65, 66, 5};
        int temp = 0;
        //外层循环表示一共需要排序几轮,因为每一次交换都会将最大的一个数放在最后一位,所以只需要交换nums1.length-1轮。(只剩下一个数字时无需再交换)
        for (int i = 0; i < nums1.length-1; i++) {
            //内层循环为每一轮的交换过程。从左至右,当左边一个数大于右边一个数时,将两个数字交换.
            for (int j = 0; j < nums1.length-1-i; j++) {
                if (nums1[j]>nums1[j+1]){
                    temp=nums1[j];
                    nums1[j] = nums1[j+1];
                    nums1[j+1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(nums1));
    }
    
}
原文地址:https://www.cnblogs.com/cong-0928/p/13262165.html