`
柯小芍
  • 浏览: 13450 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

数组队列 的简单实现

 
阅读更多

在介绍数组队列之前我想先介绍一下数组是为何物,数组是数据的一中存储结构,其定义为:

数组类型[] 数组名=new 数组类型[数组长度]

然而数组存储类型有许多不足就是长度一定,不能随机应变。于是我们创造队列以弥补这一缺陷。可以说队列是更加完美的数组。其实现方法如下:


 

package Sameple0419简单的队列;
/**
 * 新建一个学生类
 * @author Administrator
 *
 */
public class Student {
	private String name;
	private int score;
	public Student(String name ,int score){
		this.name=name;
		this.score=score;
	}
	public void show(){
		System.out.println("姓名"+name+"学分"+score);
	}

}

 定义队列可以自动添加的方法

public class sameple0401 implements NetJavaList{
/**
 * 向队列中加入一个学生对象
 * @author student
 */
	private Student[] scr=new Student[0];
	public void add(Student stu){
		//新建一个数组
		Student[] desk=new Student[scr.length+1];
		//将要加入的元素加在新数组的最后一个位置
		desk[scr.length]=stu;
		//用for循环把原来数组里的对象copy到新数组里
		for(int i=0;i<scr.length;i++){
			desk[i]=scr[i];
		}
		scr=desk;
		
	}
	/**
	 * 取得队列中指定位置的一个对象
	 * @param index
	 * @return 一个学生对象
	 */
	public Student get(int index){
		Student st=scr[index];
		return st;
	}
	/**
	 * 得到数列的长度,即数列中元素的个数
	 * @return 数组中元素的个数
	 */
	public int size(){
		return scr.length;
	}
	
	

}

 测试:

public class test {
	

	/**
	 * 程序入口
	 * @param args
	 */
	public static void main(String[] args) {
		//创建一个数列对象
	 NetJavaList njl=new sameple0401();
	 for(int i=0;i<5;i++){
		 //实例化Student类
		 Student st=new  Student("name"+i,i+10);
		 //加入队列
		 njl.add(st);
	 }
	 //打印队列
	 printStudent(njl);
		
	}
	/*打印出队列中每个学生的信息*/
	
	public static void printStudent(NetJavaList sl){
		System.out.println(sl.size()+"个学生的信息如下:");
	for(int i=0;i<sl.size();i++){
		Student st=sl.get(i);
		st.show();
	}
	}

}

 程序输出结果:5个学生的信息如下:

小结:本博客用数组实现其队列的添加方法。其插入、删除方法与此类似在此不作赘述。

 

 

  • 大小: 36.3 KB
分享到:
评论

相关推荐

    用数组实现的优先队列(JAVA)

    总之,`PriorityQ.java`文件可能是一个简单的数组实现优先队列的示例,通过分析这个文件,我们可以学习到如何利用数组数据结构实现优先队列,以及理解其核心的插入、删除和查找操作。同时,这也能帮助我们更好地掌握...

    数组和链表实现队列

    本话题主要探讨了两种常用的数据结构——数组和链表——在实现队列这一线性数据结构时的应用。队列是一种先进先出(First In First Out, FIFO)的数据结构,它的主要操作包括入队(enqueue)、出队(dequeue)以及...

    队列数组实现

    在本篇文章中,我们不仅介绍了队列的基本概念和操作,还提供了一个简单的示例程序来展示队列的数组实现。虽然这种方法简单有效,但在更复杂的应用场景下可能需要考虑更多的因素,比如队列的动态调整、异常处理等。...

    用数组实现的循环队列(java)

    本篇文章将探讨如何在Java中使用数组实现一个循环队列,通过阅读《用数组实现的循环队列(java)》这篇博文,我们可以深入理解循环队列的工作原理以及其在实际编程中的应用。 循环队列是队列的一种变体,它巧妙地...

    C语言数组-C语言实现使用静态数组实现循环队列.zip

    以下是一个简单的循环队列实现: ```c #include #define MAX_SIZE 10 // 定义队列的最大容量 int queue[MAX_SIZE]; // 创建一个静态数组作为队列 int front = -1; // 初始化队头为-1,表示队列为空 int rear = -...

    用数组实现一个循环队列

    以下是一个简单的循环队列类的实现: ```cpp #include class CircularQueue { private: int front, rear; // 队头和队尾指针 int capacity; // 队列的最大容量 int* data; // 存储元素的数组 public: ...

    同步java之数组与队列

    为了实现队列操作,数组队列通常需要两个额外的变量来跟踪队头和队尾。添加元素时,如果队列已满,则需要进行扩容操作;移除元素时,如果队列为空,会抛出异常。这种基于数组的队列虽然在空间效率上比链表实现的队列...

    数组实现循环队列(有bug版)

    ### 数组实现循环队列(有bug版) #### 概述 本文档主要介绍了一种基于数组实现的循环队列的代码实现,并对该代码进行了分析,指出了其中存在的问题及可能的原因。 #### 循环队列简介 循环队列是一种特殊的数据...

    【JavaScript源代码】Nodejs 数组的队列以及forEach的应用详解.docx

    以下是一个简单的队列实现示例: ```javascript let queue = []; queue.push(1, 2, 3); // 添加元素到队列尾部 console.log(queue); // [1, 2, 3] queue.shift(); // 移除并返回第一个元素 console.log(queue); // ...

    循环数组实现队列.doc

    以下是一个使用C++模板类实现的循环数组队列: ```cpp template class MyQueue { private: struct myq { int head, rear; T* ele; }; myq* q; const int Max; public: // 构造函数 MyQueue() { q = new ...

    数组和队列反转

    以下是一个简单的自定义队列的C#实现: ```csharp public class CustomQueue&lt;T&gt; { private T[] items; private int front, rear; public CustomQueue(int capacity) { items = new T[capacity]; front = rear...

    停车管理系统(用队列数组实现)-数据结构

    本项目“停车管理系统(用队列数组实现)”是数据结构的一个实际应用,它利用了队列和数组这两种基本数据结构来模拟停车管理的逻辑。 首先,我们来理解队列。队列是一种先进先出(First In First Out, FIFO)的数据...

    用C语言数组实现的软件FIFO

    在IT领域,FIFO(First In First Out,先进先出)...这种实现方式简单、直观,易于理解和调试,适用于对性能要求不高但需保证基础功能的场景。通过FIFO.c和FIFO.h文件,我们可以将此功能模块化,方便在不同项目中复用。

    Java使用数组实现简单的队列操作SimpleQueue

    数据结构学习-Java使用数组实现简单的队列操作SimpleQueue,简单易懂,适合初学者。

    C语言实现使用静态数组实现循环队列

    以下是一个简单的C语言实现循环队列的步骤: 1. 定义静态数组:首先,你需要定义一个足够大的静态数组来存储队列元素。例如,可以声明一个大小为`MAX_SIZE`的整型数组`queue`。 ```c #define MAX_SIZE 100 int ...

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

    顺序队列的优点是实现简单、队列元素可以随机访问,缺点是队列扩容复杂、队列元素的添加和删除效率较低。链式队列的优点是队列元素的添加和删除效率高、队列扩容简单,缺点是实现复杂、队列元素不能随机访问。 顺序...

    c++链表队列的实现

    4. **实现复杂度**:链表队列的实现通常比数组队列更复杂一些,涉及到指针的操作。 ### 三、C++中链表队列的实现 #### 1. 数据结构定义 在C++中,可以通过定义一个节点类来实现链表队列。每个节点包含数据部分和...

    JAVA 模拟队列的实现

    数组实现简单直接,但可能造成空间浪费;链表实现则更灵活,适合动态扩展。在Java中,可以使用ArrayList或LinkedList类来实现这两种方式。下面简述两种方法: - 数组实现:利用数组的索引,0号索引表示队头,最后一...

    队列代码 循环数组 自编的

    3. **易于理解与实现**:循环队列的逻辑简单,易于理解和编码。 #### 四、循环队列的关键属性与操作 - **数组**:存储队列中的元素。 - **`front`**:队列头部指针,指向队列中的第一个元素。 - **`back`**:队列...

Global site tag (gtag.js) - Google Analytics