数据结构与算法——线性结构1.0.1

1.数组

//问题1.数组长度不可变
int[] a = new int[3];  int[] x={1,2,3,4};  int[] y= new int[]{1,2,3,4,5};

解决方案:

添加方案:重新创建一个长度 是原数组长度+1的数组,将数据复制到新数组  添加的值放入新数组  替换老数组地址

例:

2.删除:

创建原数组长度-1 的新数组  将需要删除元素之前 和之后的元素重新组成新的数组

3.面向对象的数组

    数组创建好之后元素数量和长度都是固定的,添加删除操作非常不方便

    通过封装数组对象 实现 可以任意添加一个元素,删除一个元素;

4.查找算法(线性查找,二分法查找)

线性查找:

        遍历从头到尾对比查找

二分法查找:

当数组的数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的,如果是无序的也可通过选择排序、冒泡排序等数组排序方法进行排序之后,就可以使用二分法查找。 

二分法查找基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止,但是如果当前段的索引最大值小于当前段索引最小值,说明查找的值不存在,返回-1,不继续查找

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值