关于数组队列的实现

本文探讨了数组作为数据结构的优缺点,并介绍了为解决数组固定大小问题而引入的数组队列。数组队列遵循“先进先出”原则,通过动态调整数组大小以适应数据变化。还讨论了数组队列的泛型实现,允许特定或任意数据类型的存储。
摘要由CSDN通过智能技术生成

在数组队列之前,回顾已经实现的数组这一数据结构。

数组的优点和缺点?
    优点:
        访问速度是所有数据结构中最快的一种。
    缺点:
        大小固定,如果要存储的数据个数不确定的时候,会发生以下几种情况:
            1.数组空间不够,导致越界异常发生
            2.如果空间太大了,数据不够,就会浪费内存空间
        插入、删除数据,的操作非常麻烦。
 

为了克服数组的这些缺点,引入一种数据结构——数组队列。数组队列特点非常鲜明,类似于日常生活中的排队机制,遵循"先进先出”的原则。

2.数组队列的实现原理:
    数组的大小是根据你要添加的数据来决定的。可以根据添加、删除数据的个数,来创建新的数组。数组名中存储的是数组对象在堆内存空间的首地址。新数组名中存储了新数组对象的首地址。把这个首地址赋给原来数组名,从而实现添加、删除等等操作。而原来的数组对象,基于JVM(java虚拟机)的垃圾回收机制,会销毁对象,释放内存空间。
        
3.数组队列的实现:
    数组队列:定义类,封装对数组的操作。

   ADT的实现如下:

package ops.array_list;

/**
 * 自定义数组队列类
 *
 * @param <E>声明数组队列支持泛型
 */
public class MyArrayList<E> {

	/**
	 * 声明学生类型的数组名属性
	 */
	pri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值