在介绍数组队列之前我想先介绍一下数组是为何物,数组是数据的一中存储结构,其定义为:
数组类型[] 数组名=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个学生的信息如下:
小结:本博客用数组实现其队列的添加方法。其插入、删除方法与此类似在此不作赘述。
相关推荐
c++ 队列数组实现,这个简单的东西。队列的数组实现
哈工大软件设计代码,实现的很简单粗糙,仅供参考
一个很简单适用的自定义编写的C#基础实现队列和反转数组,让你从最基础的C#来开始你的代码量的积累。
一个用循环数组实现的队列代码 简易型 小程序
队列(Queue)的数组实现。包含声明、函数实现与测试代码,令附对代码的简单说明。
用c++编写先进先出页面置换算法,没有用队列,用数组。
C语言实现基于数组的环形缓冲队列 ,通过图文简单介绍了缓存的写入和读出,并给出示例代码 在C语言编程场景中,常常需要对一段不定长数据进行缓存。这里提出一种基于数组的环形缓冲队列,解决上述场景的问题。 原理...
下面是一个简单的环形数组(也称为循环数组或循环队列)的Python实现。环形数组通常用于实现队列或循环缓冲区,其中数组的末尾和开头是相连的。
下面是一个简单的环形数组(也称为循环数组或循环队列)的Python实现。环形数组通常用于实现队列或循环缓冲区,其中数组的末尾和开头是相连的。
优先队列 优先队列(Priority Queue)是一种数据结构,它类似于常规的队列或栈,但每个元素都有与其关联的“优先级”。在优先队列中,元素的出队顺序是基于...下面是一个简单的基于数组和插入排序的优先队列实现示例:
在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: •shift:从数组中把第一个元素删除,并返回这个元素的值。 •unshift: 在数组的开头添加一个或更多...
嵌入式单片机可以用的queue,基于数组实现,简单易用,很好理解,带main测试程序,可以直接加到vs运行测试
//而不是用链表来实现的,所以到静态队列(数组)尾部,尾指针自动指向(数组)头部 *Rear = mQueue; } puts("Input Data:"); scanf("%d", *Rear); //输入数据后,尾指针后移 *Rear += 1; } //从头指针删除一...
目录: 数据结构中的一些概念 栈(stack) 队列 链表 python中字典对象实现原理 数组 一....1、数据结构是什么 简单来说,数据结果就是设计数据以何种方式存储在计算机中 ...数据结构:数组、栈、队列、链表、树、图、
经典算法 经典问题 约瑟夫环C语言实现 循环队列 数组 基本方法实现
学过数据结构的人都知道:栈可以用两种方式来实现,一种方法是用数组实现栈,这种栈成为静态栈;另外一种方法是用链表实现栈,这种栈叫做动态栈。 栈中通常存放着程序的局部变量等。栈通常有出栈和入栈操作。
AJAX在使用的过程中会遇到一个问题,当用户短时间内执行了多个异步请求的时候,如果前一个请求没完成,将会被取消...AJAX队列很简单,创建一个数组存储请求队列,数组中每一项又是一个请求参数数组,当用户执行请求时
leetcode 跳跃 数据结构练习 数组练习 MyArray 大小固定的数组实现 MyDynamicArray 自动扩容数组实现 LRUBaseArray 基于数组实现LRU算法 LRUBaseArrayAndMap 基于LinkedHashMap实现...基于固定大小的数组实现的环状队列
数组队列和循环队列的比较 补充代码1: 不浪费一个空间的循环队列 补充代码2: 没有size成员变量的循环队列 第四章 最基础的动态数据结构:链表 4-1 什么是链表 4-2 在链表中添加元素 4-3 使用链表的虚拟头结点 4-4 ...