`
xiaozhouzhou
  • 浏览: 13389 次
  • 性别: 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实现队列定义操作应用及回文序列的检测

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

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

    消息队列如何理解?

    介绍了消息队列的定义、为什么需要消息队列,应用场景,消息队列的优缺点

    数据结构——队列的应用.doc

    软 件 学 院 上 机 实 验 报 告 课程名称: 数据结构 实验项目: 队列的应用 实 验 室: 耘 慧420 姓 名: 学 号 专业班级: 实验时间: 2016.11.17 "实验成绩 "评阅教师 " " " " "实验目的及要求 " "(一) 目的 " "1...

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

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

    队列操作的验证及应用

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

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

    一、实验目的 1、熟练掌握栈和队列的基本操作在两种存储结构上的实现。 2、会用栈和队列解决简单的实际问题...2、编程模拟队列的管理,主要包括:出队列、入队、统计队列的长度、查找队列某个元素e、及输出队列中元素。

    数据结构 栈、队列应用 C++

    1. 栈的类定义(已实现,可参考附录:seqstack.h) ...10.应用队列完成Johnson问题(n个人围成一圈,每个人都有一个号码,从1..n,从1号报数,报到m号的出列,输出出列的号码顺序)。测试:10个人,报到3的出列。

    C++数据结构实验二:栈与队列的应用

    3.掌握栈和队列的逻辑结构特点、顺序存储结构、链式存储结构、顺序栈和链栈的结构体类型定义、循环队列和链队列的结构体类型定义、栈和队列在两种存储结构上的各种基本操作的实现算法。 4.将任意十进制数转换为三种...

    单链表操作 和 栈、队列的应用

    单链表操作 和 栈、队列的应用 基本要求:1)用前插法建立带表头结点的单链表; 2)在该链表中统计数据值为x的结点个数。 3)在该链表中值为k的结点前插入y结点,并删除k结点,如果没有值为k的结点则把y结点插在...

    栈和队列基础

    栈和队列,了解栈和队列的定义 。 掌握顺序栈和链栈上的基本运算算法的实现。 掌握顺序队列和链队列上的基本运算算法的实现。 能灵活运用栈和队列解决实际应用问题

    用链栈实现链队列逆置(栈的指针的实现的应用)

    typedef struct node /*定义链队列结点类型*/ { datatype data; struct node *next; }linkqueue; typedef struct /*封装队头指针和队尾指针*/ { linkqueue *front; /*定义队头指针*/ linkqueue *rear; /*定义...

    MQ服务消息队列介绍

    如果我们开发的基于MQ的应用与MQ服务器不在同一台机器上,那么就必须在MQ应用端安装MQ客户端。下面我们以在Suse Linux 10下安装WebSphere MQ v6.0 Client为例介绍MQ客户端在Linux下的安装和配置步骤。 (1)解压缩...

    PHP消息队列实现及应用详解【队列处理订单系统和配送系统】

    主要介绍了PHP消息队列实现及应用,结合实例形式详细分析了php消息队列的概念、原理及队列处理订单系统和配送系统案例,需要的朋友可以参考下

    基于持久消息队列的工作流管理系统研究

    然后,设计出了类似Windows DNA (Distributed Network Application, DNA)层次结构的五层系统体系结构,并提出了其切实可行的实现方案,该方案实现了“过程建模与配置工具”、“工作流引擎”、“客户应用”及“应用...

    数据结构栈和队列的入门

    数据结构栈和队列的入门知识,通俗易懂。 内容: 栈 1 栈的定义及基本运算 2 栈的存储结构和实现 3 栈的应用 队列 1 队列的定义及基本运算 2 队列的存储结构和实现 3 队列的应用

    栈和队列教程

    栈和队列的教程,包含了栈、队列的定义,以及一些基本应用

    小猫钓鱼卡牌游戏---栈和队列

    这是自己学习过程中写的C++项目程序,主要是对栈和队列的应用。 主要包括链栈、链队的定义以及一个cpp文件。 游戏机制是有两个玩家,开局两个玩家手中拥有相同数量但牌值不同的手牌,两个玩家轮流出牌,桌面上的牌...

    python 队列基本定义与使用方法【初始化、赋值、判断等】

    本文实例讲述了python 队列基本定义与使用方法。分享给大家供大家参考,具体如下: 队列的特征是:先进先出 应用场景:消息通信、多进程间的协同、多线程间的协同等 在队列中需要设计的实例属性:head节点、tail节点...

    双端队列Deque及Python实现

    双端队列Deque及Python实现双端队列Deque双端队列Deque的Python实现双端队列Deque的应用:“回文词”判断 双端队列Deque 与队列类似,双端队列有两个人口,不同之处在于双端队列的两个口都既可以是入口也可以是出口...

Global site tag (gtag.js) - Google Analytics