【数组的使用续篇】

简介: 【数组的使用续篇】

以数组的形式打印数组

打印方法:Arrays.toString(数组名)

public class Test {
    public static void main(String[] args) {
        int[] array={1,2,3,4,5};
        String ret = Arrays.toString(array);
        //或者这种System.out.println(Arrays.toString(array));
        System.out.println(ret);
    }
}

数组排序大小

排序方法是 Arrays.sort(数组名)

public class Test {
    public static void main(String[] args) {
        int[] array={7,18,5,27,100};
        System.out.println(Arrays.toString(array));
        Arrays.sort(array);//排序方法
        System.out.println(Arrays.toString(array));
    }
}

创建一个自己的打印数组的方法

用循环打印[ ]、数字还有标点符号

要记得打印数组的方法是:Arrays.toString(数组名)

public class Test {
    public static void main(String[] args) {
        int[] array = {7, 18, 5, 27, 100};
        System.out.println(myToString(array));
        Arrays.sort(array);//排序方法
        System.out.println(myToString(array));
        int[] array1 = null;//当数组为空时,打印null
        System.out.println(myToString(array1));
        int[] array2={ };//当数组为0时,打印[]
        System.out.println(myToString(array2));
    }
    public static String myToString(int[] array){
        if(array==null){
            return null;
        }
        if(array.length==0 )
        {
            return "[]";
        }
        String ret ="[";
        for (int i = 0; i <array.length ; i++) {
            ret += array[i]+" ";
            if(i != array.length-1){
                ret += ",";
            }
        }
        ret += "]";
        return ret;
    }
}

自己创建一个冒泡排序

两数之间交换方法

//冒泡排序
public class Test {
    public static void main(String[] args) {
        int[] array={2,1,8,16,22,7};
        Bubblesort(array);
        Arrays.sort(array);//给数组排序大小
        System.out.println(Arrays.toString(array));
    }
    public static void Bubblesort(int [] array){
        if(array==null){
            return ;
        }
        for (int i = 0; i < array.length; i++) {
            boolean flg =false;//优化代码时间复杂度
            for (int j = 0; j <array.length-1-i ; j++) {
                int tmp = 0;
                if(j>j+1){
                    tmp =array[j] ;
                    array[j] = array[j+1];
                    array[j+1] =tmp;
                    flg =true;
                }
            }
            if(!flg){
                return ;
            }
        }
    }
}

逆置数组打印

核心思路还是 i 和 j 交换

public class Test {
    public static void main(String[] args) {
        int[] array={2,3,4,5};
        reverse(array);
        System.out.println(Arrays.toString(array));
    }
    public static void reverse(int[] array){
        if(array==null){
            return ;
        }
        int i=0;
        int j=array.length-1;
        //当i>=j时说明已经交换完
        //要有条件让交换停下来
       while(i<j){
           int tmp= array[i];
           array[i] = array[j];
           array[j] = tmp;
           i++;
           j--;
       }
    }
}

总结

今天的复习收获蛮多,学到了数组的打印方法排序方法,也学到了逆置打印数组和如何用数组创建一个冒泡排序

相关文章
|
3月前
|
存储 Java 索引
八股day01_数组
八股day01_数组
|
5月前
|
存储 C++
C++初阶学习第十一弹——探索STL奥秘(六)——深度刨析list的用法和核心点
C++初阶学习第十一弹——探索STL奥秘(六)——深度刨析list的用法和核心点
53 7
|
6月前
|
算法 Java
算法编程(十二):多数元素
算法编程(十二):多数元素
32 0
|
6月前
|
存储 算法 Serverless
第六章:数组
第六章:数组
77 0
|
存储 编译器 C++
自写动态数组——参考《C++语言程序设计》(清华大学第4版)
自写动态数组——参考《C++语言程序设计》(清华大学第4版)
168 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
46 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
33 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序1
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序1
47 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序2
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序2
51 0
|
存储 编译器 C语言
《C和指针》读书笔记(第八章 数组)(下)
《C和指针》读书笔记(第八章 数组)