`
柯小芍
  • 浏览: 13042 次
  • 性别: 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
分享到:
评论

相关推荐

    队列数组实现

    c++ 队列数组实现,这个简单的东西。队列的数组实现

    循环数组实现队列

    哈工大软件设计代码,实现的很简单粗糙,仅供参考

    数组和队列反转

    一个很简单适用的自定义编写的C#基础实现队列和反转数组,让你从最基础的C#来开始你的代码量的积累。

    队列代码 循环数组 自编的

    一个用循环数组实现的队列代码 简易型 小程序

    队列的数组实现与测试代码(C语言)

    队列(Queue)的数组实现。包含声明、函数实现与测试代码,令附对代码的简单说明。

    数组实现先进先出算法

    用c++编写先进先出页面置换算法,没有用队列,用数组。

    C语言实现基于数组的环形缓冲队列 ,通过图文简单介绍了缓存的写入和读出,并给出示例代码

    C语言实现基于数组的环形缓冲队列 ,通过图文简单介绍了缓存的写入和读出,并给出示例代码 在C语言编程场景中,常常需要对一段不定长数据进行缓存。这里提出一种基于数组的环形缓冲队列,解决上述场景的问题。 原理...

    下面是一个简单的环形数组.rar

    下面是一个简单的环形数组(也称为循环数组或循环队列)的Python实现。环形数组通常用于实现队列或循环缓冲区,其中数组的末尾和开头是相连的。

    l下面是一个简单的环形数组.rar

    下面是一个简单的环形数组(也称为循环数组或循环队列)的Python实现。环形数组通常用于实现队列或循环缓冲区,其中数组的末尾和开头是相连的。

    优先队列讲解及代码实现.zip

    优先队列 优先队列(Priority Queue)是一种数据结构,它类似于常规的队列或栈,但每个元素都有与其关联的“优先级”。在优先队列中,元素的出队顺序是基于...下面是一个简单的基于数组和插入排序的优先队列实现示例:

    JavaScript数组实现数据结构中的队列与堆栈

     在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: •shift:从数组中把第一个元素删除,并返回这个元素的值。 •unshift: 在数组的开头添加一个或更多...

    单片机队列实现

    嵌入式单片机可以用的queue,基于数组实现,简单易用,很好理解,带main测试程序,可以直接加到vs运行测试

    c语言简单队列

    //而不是用链表来实现的,所以到静态队列(数组)尾部,尾指针自动指向(数组)头部 *Rear = mQueue; } puts("Input Data:"); scanf("%d", *Rear); //输入数据后,尾指针后移 *Rear += 1; } //从头指针删除一...

    数据结构概念、栈、队列、链表与数组、字典与对象实现原理(详细的代码)

    目录: 数据结构中的一些概念 栈(stack) 队列 链表 python中字典对象实现原理 数组 一....1、数据结构是什么 简单来说,数据结果就是设计数据以何种方式存储在计算机中 ...数据结构:数组、栈、队列、链表、树、图、

    约瑟夫环C语言实现代码

    经典算法 经典问题 约瑟夫环C语言实现 循环队列 数组 基本方法实现

    C#(数据结构与教程)栈和队列的算法程序

    学过数据结构的人都知道:栈可以用两种方式来实现,一种方法是用数组实现栈,这种栈成为静态栈;另外一种方法是用链表实现栈,这种栈叫做动态栈。 栈中通常存放着程序的局部变量等。栈通常有出栈和入栈操作。

    AJAX请求队列实现

    AJAX在使用的过程中会遇到一个问题,当用户短时间内执行了多个异步请求的时候,如果前一个请求没完成,将会被取消...AJAX队列很简单,创建一个数组存储请求队列,数组中每一项又是一个请求参数数组,当用户执行请求时

    leetcode跳跃-datastructure:数据结构

    leetcode 跳跃 数据结构练习 数组练习 MyArray 大小固定的数组实现 MyDynamicArray 自动扩容数组实现 LRUBaseArray 基于数组实现LRU算法 LRUBaseArrayAndMap 基于LinkedHashMap实现...基于固定大小的数组实现的环状队列

    leetcode添加元素使和等于-Play-with-Data-Structures:玩转数据结构

    数组队列和循环队列的比较 补充代码1: 不浪费一个空间的循环队列 补充代码2: 没有size成员变量的循环队列 第四章 最基础的动态数据结构:链表 4-1 什么是链表 4-2 在链表中添加元素 4-3 使用链表的虚拟头结点 4-4 ...

Global site tag (gtag.js) - Google Analytics