【java】冒泡Bubble算法

冒泡Bubble算法 

微信公众号:程序yuan
关注可获得更多干货和视频教程哦。问题或建议,请公众号留言;

面试中很常被考到的一道题,就是冒泡排序,可以说是非常经典了

参考网上一组图

下面以一群身高不等的学生为例,如下图所示:

  • 未排序的学生

  • 已排序的学生

  • 冒泡排序第一轮实现过程

Java 代码实现

import org.junit.Test;

import java.util.Arrays;

/**
 * @Author : ouYang
 * @Date : 2018/10/12
 * @Time : 11:55
 * @Annotation :
 */
public class BubbleSort {


    @Test
    public void testBubbleSort(){
        int [] arr = {1,5,2,67,8,62,432,2,7,3,8};
        bubbleSort(arr,"desc");
        System.out.println(Arrays.toString(arr));
    }

    //冒泡排序算法
    public void bubbleSort(int [] arr,String type){
        if("asc".equalsIgnoreCase(type)){
            for(int i = 0; i < arr.length-1; i++){
                for(int j = 0; j < arr.length-i-1; j++){
                    if(arr[j]>arr[j+1]){
                        arr[j] = arr[j] + arr[j+1];
                        arr[j+1] = arr[j] - arr[j+1];
                        arr[j] = arr[j] - arr[j+1];
                    }
                }
            }
        }else if("desc".equalsIgnoreCase(type)){
            for(int i = 0; i < arr.length-1; i++){
                for(int j = 0; j < arr.length-i-1; j++){
                    if(arr[j]<arr[j+1]){
                        arr[j] = arr[j] + arr[j+1];
                        arr[j+1] = arr[j] - arr[j+1];
                        arr[j] = arr[j] - arr[j+1];
                    }
                }
            }
        }

    }

}

------------------------------------------------

关注小编微信公众号获取更多资源

猜你喜欢

转载自blog.csdn.net/ooyhao/article/details/83031216