排序算法-冒泡排序

1、冒泡排序

 

算法思路

   比较相邻的元素。如果第一个比第二个大,就交换它们两个;

 对每一对相邻元素作同样的工作,从开始第一队到结尾的最后一对,这样在最后的元素应该会是最大的数;

 针对所有的元素重复以上的步骤,除了最后一个;

 重复步骤1-3,直到排序完成。

 

代码

package com.hsp.baselearn.algorithm;

import java.util.Arrays;

/**
 * 冒泡排序
 */
public class BubbleUpSort {


    public static void main(String[] args) {
        int arr [] ={9,8,5,4,2,0};
        bubbleUpSort(arr);

    }
    
    private static void bubbleUpSort(int[] arr) {
        if (arr == null && arr.length <= 1)
           return;
        for (int i = 0; i < arr.length-1; i++) { //趟数 n-1次
            //内层循环是每趟 相邻 的 比较次数
            for (int j = 0;j<arr.length-i-1;j++){//减去掉比较完成的i
             //交换位置
              if(arr[j]>arr[j+1]){
                  swap(arr,j,j+1);
              }
            }
        }
        for (int i: arr) {
            System.out.print(i+"\t");
        }

    }

    private static void swap(int[] arr,int i,int j){
        int temp  = arr [i];
        arr[i]=arr[j];
        arr[j]=temp;
    }
}

 

 

 

 

 

posted @ 2021-12-20 23:12  KwFruit  阅读(53)  评论(0编辑  收藏  举报