Day7:2023.4.25

本文介绍了数组的扩容和缩容方法,包括常规的遍历复制以及使用System.arraycopy和Arrays.copyOf。还讲解了冒泡排序、选择排序的原理,以及如何利用Arrays.sort进行排序。此外,详细阐述了二分法查找的实现过程,并提到了二维数组的定义、赋值及遍历。最后,文章提到了杨辉三角的生成规则。
摘要由CSDN通过智能技术生成

一、数组

1、数组的扩容:

        先定义一个原数组

        然后定义一个新数组,长度比原数组长

        遍历数组,把原数组的内容转移到新数组中

        给新数组多的位赋值

        将新数组地址赋给原数组

        遍历输出原数组(此时的原数组已完成扩容)

        

2、数组的缩容

        与扩容基本一致

        

3、数据拷贝

       1) 常规:使用循环遍历

        2)使用Scanner类:

                原数组为arr1,新数组为arr2;

                使用System.arraycopy(原数组,复制原数组起始下标,新数组,新数组起始下标,复制长度)

                遍历输出

                

         3)使用Arrays类:

                定义原数组;

                使用Arrays类复制:Arrays.copyof(原数组,新数组长度)

                遍历输出新数组

                

 4、冒泡排序法:

        从第一个数开始取,分别与之后的数进行比较,如果第一个数大就交换位置;执行一次后,最大值放在最后面,重复操作,完成排序。

        内层循环次数为length-1:完成i次后,后面i个数位置固定,已不需要重新排序

        标志位flag:存在没执行完所有次数已完成排序的情况,此时可以提前完成排序:当当前值已经是最小值时,不需要交换顺序,即停止当前次循环,执行下次循环

                

 5、选择排序

        假定第一个数为最小值,将其分别与之后的值进行比较,将最小值的下标标记,结束当前循环后,将最小值放到第一位;然后从第二次进行循环...

                

 6、调用Arrays类进行排序

        调用格式:        Arrays.sort(数组名);         默认是从小排到大

                

7、二分法查找

        模仿二叉树,在一串数中,先取下标为0为min,下标为.length-1为max;

        然后取中间值为mid,判断需要查找的值在min~mid还是mid~max,然后重新赋值,重复操作

        知道arr[mid]的值为需要查找的值,输出mid

        PS:二分法查找需要顺序数列

                 

 8、二维数组

        1)静态定义

                int[][] arr={{1,2,3},{4,5,6},{7,8,9}};

        2)动态定义

                int[][] arr=new int[3][3];

        3)赋值

                arr[3][3]=100;

        4)循环输入

         5)遍历二维数组

 9、杨辉三角

        注意找规律外侧数值为1,内部数值为其上面两个数值之和。

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值