【数据结构6】队列

这篇博客介绍了队列的基本概念,它是一种先进先出(FIFO)的线性表。作者通过Java代码展示了如何使用数组来实现队列,包括添加、删除、更新和查询元素的操作。在数组实现中,当需要扩展或缩减数组大小时,会创建新的数组并复制原有元素。此外,还提供了获取队列元素个数和遍历队列的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、基本常识

1.1 什么是队列

        只允许在一端进行插入操作,而在另一端进行删除操作的线性表。

1.2 队列的特点

        队列是一种先进先出的线性表,简称FIFO。

2、队列的实现——数组

用数组来实现的话问题就在于一个数组新创建出来长度就已经固定,所以在增删操作时就要不断新建新的数组,把原来复制过去,再进行增删。

开始先定义新建一个数组

public class arrayQ {
	private  Object[] sa=new Object[0];
}

接着就是实现一些基本功能,增删改查,获取个数,遍历

public void add(Object s) {
		  //1.新建一个数组,是原数组长度+1,扩容
		Object[] temA=new Object[sa.length+1];
		  //2.把原数组的,复制到新数组
		for(int i=0;i<sa.length;i++){
			temA[i]=sa[i];			
		}
		//数据结加新数组最后一个位子
		temA[temA.length-1]=s;
		sa=temA;
	}

public Object pop() {
		//1.新建一个数组,是原数组长度-1,缩小
		Object[] temB=new Object[sa.length-1];
		//2.取出出队的数据
		Object a = sa[sa.length-1];
		//3.复制除最后一个队列元素的所有元素
		for(int i=0;i<sa.length-1;i++) {
			temB[i] = sa[i];
		}
		sa = temB;
		return a;
	}

改:

public void update(int index,Object s) {
		if (index < 0 || index >= sa.length) {
			System.out.println("位置不合法");
			}
		sa[index] = s;
	}

查:

	public Object get(int index){
		if (index < 0 || index >= sa.length) {
			System.out.println("位置不合法");
			return null;
		}
		Object m=sa[index];
		return m;
	}

获得队列中元素的个数:

public int size(){
		return sa.length;
	}

遍历打印队列:

	public void print() {
		for(int i=0;i<sa.length;i++) {
			System.out.println(""+sa[i]);
		}
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值