`
xiaozhouzhou
  • 浏览: 13924 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

队列的定义及运用

 
阅读更多
队列简称队,是限制在表的一端进行插入操作,而在表的另一端进行删除操作的线性表。把允许插入数据的一端称为队尾,而把允许删除的一端称为队首或队头。向队列中插入新元素称为进队或入队,新元素进队后就成为新的队尾元素;从队列中删除元素称为出队或离队,元素离队后,其后继元素成为新的队首元素。由于队列的插入和删除各在一端进行,所以每个元素出对的顺序必然就是进队的顺序。
在进行队列的运用时,我们先进行队列的接口定义:
public interface NetJavaList {
	//向队列中加入一个对象
	public void add(Object obj);
	//取得队列中指定位置的对象
	public Object get(int num);
	//得到队列中的长度,
	public int size();
}
接下来我们就编写一个接口的实现类:
public class STList implements NetJavaList {
	//初始化一个数组,长度为0
	Object[] scrA=new Object[0];
	public void add(Object obj) {
		//新建一个,长度比原来的数组多1
		Object scrB[]=new Object[scrA.length+1];
		//将要放入的对象放入新数组的最后一个位置
		scrB[scrA.length]=obj;
		//把原数组的东西放入新数组中
		for(int i=0;i<scrA.length;i++){
			scrB[i]=scrA[i];
		}
		//数组复制
		scrA=scrB;
	}
	//得到元素的方法
	public Object get(int num) {
		Object obj=scrA[num];
		return obj;
	}
	//得到数组的长度
	public int size() {
		return scrA.length;
	}
}
主函数:
public class Manager {
	public static void main (String args[]){
		//创建队列对象
		NetJavaList net=new STList();
		for(int j=0;j<5;j++){
			String st="name"+j;
			Object obj=st;
			net.add(obj);
		}
		//调用方法
		printObject(net);
	}
	public static void printObject(NetJavaList net){
		System.out.println(net.size()+"位学生信息如下:");
		for(int k=0;k<net.size();k++){
			//把得到的元素放到obj中
			Object obj=net.get(k);
			System.out.println(obj);
		}
	}
}
分享到:
评论

相关推荐

    队列定义操作应用及回文序列的检测

    通常,我们会定义一个结构体来表示队列,并包含必要的操作如初始化、入队、出队、判断队列是否为空、获取队列长度等。下面是一个简单的基于数组实现的队列示例: ```c #define MAX_SIZE 100 typedef struct { int...

    数据结构-队列的定义及基本操作(代码+报告)

    ### 数据结构-队列的定义及基本操作 #### 一、队列的基本概念 队列是一种线性表,它遵循先进先出(First In First Out, FIFO)的原则。这意味着最先加入队列的元素也将是最先被移除的元素。队列有两个主要的操作:...

    数据结构实验——队列的实现及应用(循环队列舞会配对)

    1、掌握队列的类型定义方法。 2、理解和掌握循环队列解决假溢出的方法。 二、实验内容 1、利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时。依次从男队和女队的队头各出一人配成舞伴。如果...

    循环队列的基本操作及应用----数据结构试验

    循环队列是一种特殊的队列,它在队列的两端都可以进行插入和删除操作,通过对循环队列的基本操作和应用,我们可以更好地理解和掌握数据结构的概念。 循环队列的基本操作 循环队列的基本操作包括构造、清空、销毁、...

    【数据结构实验】队列的应用

    熟悉队列的定义,队列的特点以及队列的基本操作。能够根据实际情况选择合适的存储结构,解决实际问题。 2.实验内容: 利用循环队列模拟舞伴配对问题: 1、利用循环队列模拟舞伴配对问题。在舞会上,男、女各自排成...

    消息队列如何理解?

    ### 消息队列的理解与应用 #### 一、什么是消息队列? 消息队列是一种在消息的传输过程中用于保存消息的容器。这里的“消息”指的是在两台计算机之间传送的数据单元,它可以是非常简单的文本字符串,也可以是包含...

    数据结构---队列的应用--c实现

    ### 数据结构——队列的应用与C语言实现 #### 背景介绍 本文将通过一个经典的算法问题“农夫过河”来探讨队列在实际编程中的应用,并使用C语言进行实现。这个问题不仅考验对数据结构的理解,还涉及到位运算等计算机...

    队列操作的验证及应用

    1、实验题目:队列操作的验证及应用 2、实验目的:加深理解循环队列的定义;掌握顺序循环队列的表示与实现。 3、实验内容: 设有N个人站成一排,从左到右的编号分别为1——N,现在从左往右报数“1,2,3,1,2,3。...

    C语言_初始化队列+入队列+出队列+销毁队列

    ### C语言实现链式队列的基本操作 #### 一、链式队列简介 链式队列是一种基于链表的数据结构,它具有队列的基本特性,即...通过对这些基本操作的理解和实现,可以帮助开发者更好地掌握链式队列的应用场景和技术细节。

    栈和队列的一个应用

    ### 栈和队列在停车场管理系统中的应用 #### 一、引言 本文将详细介绍如何利用数据结构中的栈和队列来实现一个简单的停车场管理系统。该系统能够有效地管理停车场内的车辆进出情况,并通过栈和队列模拟实际场景:当...

    栈和队列的基本操作实现及其应用

    本节将详细介绍栈和队列的基本操作实现及其应用,涵盖了栈和队列的定义、实现、应用等多方面的知识点。 一、栈的基本操作实现 栈是一种先进后出的数据结构,_last in, first out_(LIFO)。栈的基本操作包括: 1....

    基于Oracle_高级队列技术实现应用程序间的通信

    不同于传统的消息队列实现方式,Oracle AQ是一种特殊类型的数据库表,通过Oracle关系数据库来存储队列信息,这意味着它能够充分利用Oracle数据库的各项特性,如事务处理、安全性控制及高可用性等。 ##### 2.2 ...

    栈 队列 类定义

    下面将详细介绍栈和队列的基本概念、实现方式以及它们在编程中的应用。 **栈:** 栈是一种后进先出(LIFO,Last In First Out)的数据结构。它的工作原理类似于我们日常生活中使用的盘子堆,最后放上去的盘子最先被...

    MQ 队列管理器创建及消息发送示例

    创建MQ队列管理器及消息发送的步骤包括: 1. 使用`crtmqm`命令创建队列管理器。 2. 使用`strmqm`启动队列管理器。 3. 使用`runmqsc`进入MQ命令控制台,定义本地队列。 4. 使用`amqsput`和`amqsget`命令发送和接收...

    顺序队列和链式队列的实现

    1. 定义一个顺序队列类,继承自队列接口,该接口定义了空队列、入队、出队和获取队首元素的操作。 2. 在顺序队列类中,使用一个数组elem来存储队列元素,并使用front和rear指针来指示队首和队尾的位置。 3. 实现...

    RabbitMQ死信队列应用1

    1. **死信队列定义** DLX是RabbitMQ中处理异常或无效消息的一种机制。当消息满足特定条件(如被拒绝、过期或队列满)时,它会从原队列移除并发送到预先配置的DLX。DLX本身就是一个普通的Exchange,可以将死信路由到...

    MQ入门实例(本地队列&远程队列 两个例子)

    ### MQ入门实例详解:本地队列与远程队列操作 #### 概述 在消息队列(Message Queue,简称MQ)...掌握了这些基础操作后,新手可以更深入地探索MQ的高级功能,如队列共享、消息持久化等,进一步提升自己的MQ应用能力。

    栈和队列的应用C++

    本次实验旨在通过实际案例——停车场管理系统的设计与实现,加深学生对栈和队列这两种基本数据结构的理解和运用能力。具体目标包括: 1. **掌握栈的数据类型描述及其特点**:理解栈是一种后进先出(LIFO)的数据...

    队列及其应用

    在实际应用中,队列常被用来模拟现实生活中的一些场景,比如食堂排队、打印机任务调度等,其核心作用是维持操作的顺序。 在计算机科学中,队列有两种常见的存储结构:顺序存储结构和链式存储结构。顺序存储通常使用...

Global site tag (gtag.js) - Google Analytics