Java——冒泡排序

2021/4/9 22:26:02

本文主要是介绍Java——冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java——冒泡排序


基本思想:

1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
2.每一次比较都会产生出一个最大或最下的数字
3.下一轮则可少一次排序

package array;

import java.util.Arrays;

//冒泡排序
public class ArrayDemo07 {
    public static void main(String[] args) {
    
        int[] a={1,4,5,2,3,9,7,1,0,22};

      int[] sort=sort(a);  
      //调用完我们自己写的排序方法以后返回我们排序后的算法
      
      System.out.println(Arrays.toString(sort)); //打印
    }


        public static int[] sort(int[] array) {
        
        //临时变量
        int temp = 0;
        
        //外层循环,判断我们这个需要走多少次
        for (int i = 0; i < array.length - 1; i++) {
        
        
        boolean flag=false; //通过flagg标识位减少没有意义的比较
        
        //内层循环,比较两个数,如果第一个数比第二个数大则交换位置
         for(int j = 0; j < array.length - 1 - i; j++) {
                //每次遍历都会得出一个最大值,所以将i减掉
                //每排序一轮就少一轮,减去i
                
                if (array[j + 1] > array[j]) {
            //从大到小排序,若想从小到大排序,将大于号改为小于号即可
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                    flag=true;
                }
            }
            
            if(flag==false)
            
            {
                break;
            }
            
        }
       return array;

    }
}

图示:

在这里插入图片描述


有什么可以改进的地方可以在评论区下方提及噢!!






这篇关于Java——冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程