冒泡排序与稀疏数组

冒泡排序

  1. 比较数组arr中两个相邻元素的大小,若arr[i+1]>arr[i], 将这两数交换位置;

  2. 每次比较都会产生大的和小的数;下一轮比较可以少排一次序;

  3. 依次循环,直到结束;

  public static void main(String[] args) {
    int[] arr={1,3,6,8};
    int[] sort=sort(arr);// 调用方法
        System.out.println(Arrays.toString(sort));
    }
    public static int[] sort(int[] arr){
        // 外层循环
        boolean flag=false;
        for (int i = 0; i < arr.length-1 ; i++) {
            // 内层循环,比较两数大小,小的在前
            for (int j = 0; j < arr.length-1-i; j++) {
                if (arr[j+1]>arr[j]){
                    int temp=arr[j+1];
                    arr[j+1]=arr[j];
                    arr[j]=temp;
                    flag=true;
                }
            }
            if (flag==false){
                break;
            }
        }
        return arr;
    }

 

 

稀疏数组

当一个数组中大部分元素是0,或者为同一值的数组时,可使用稀疏数组来保存该数组。

稀疏数组的实现:

记录数组一共几行几列,有多少个不同值;

把具有不同值的元素和行列及值记录在一个小规模数组中,从而缩小程序的规模;

https://blog.csdn.net/weixin_45681935/article/details/108917276

posted @ 2022-02-16 22:31  来日可追  阅读(28)  评论(0)    收藏  举报