java实现顺序队列

package xianxinTable;

import java.util.ArrayList;
import java.util.Iterator; import com.sun.java_cup.internal.internal_error; public class queue_self<E> implements Iterator<E> {
// 定义一个简单的迭代器 public iterator itertor(){ return new iterator(); } class iterator implements Iterator<E> {
// 要迭代的长度
private int size;
// 当前迭代到达位置
private int nowsize; iterator() {
size = queue_self.this.length;
nowsize = 1; } public boolean hasNext() {
if (nowsize != size+1) {
// TODO Auto-generated method stub
return true;
} else {
return false;
} } public E next() {
// TODO Auto-generated method stub
int page=nowsize;
nowsize++;
return queue_self.this.datalist.get(page-1);
} public void remove() {
// TODO Auto-generated method stub } } // 定义数组长度
private int length;
// 存放数组内容
private ArrayList<E> datalist;
// 队列头
private int head;
// 队列尾
private int rear; // 队列初始化
public queue_self() {
datalist = new ArrayList<E>();
this.length = 0;
head = 0;
rear = 0; } // 入队
public boolean offer(E data) {
if (true) {
this.datalist.add(data); length++;
return true;
} else { return false;
} } // 出队
public E poll() {
E e = null;
if (length == 0) {
return e; } else {
e = this.datalist.get(head);
this.datalist.remove(head);
length--;
return e; } } // 查看队首元素
public E peek() {
E e = null;
if (length == 0) {
return e; } else {
e = this.datalist.get(head); return e; } } // 返回队列长度 public int length() { return this.length; } public static void main(String[] args) { queue_self<Integer> q = new queue_self<Integer>();
q.offer(2);
q.offer(44);
q.offer(66);
q.poll();
Iterator<Integer> it=q.itertor();
while(it.hasNext()){ System.out.println(it.next()); } } public boolean hasNext() {
// TODO Auto-generated method stub
return false;
} public E next() {
// TODO Auto-generated method stub
return null;
} public void remove() {
// TODO Auto-generated method stub } }

  输出:

44
66

  

java代码实现顺序队列的更多相关文章

  1. Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序

    //据说这是一道阿里巴巴面试题,先以这道题为例分析下 public class Text { public static int k = 0; public static Text t1 = new ...

  2. Java 代码运行顺序

    1.静态代码块,只执行一次,从上到下,先父类后子类 2.父类构造代码块,从上到下,然后父类构造方法,执行次数与实例化次数相关 3.子类构造代码块,从上到下,然后子类构造方法,执行次数与实例化次数相关

  3. Java代码执行顺序及多态体现

    /** * Description: * 基类的引用变量可以只想基类的实例对象也可指向其子类的事来对象 * 接口的引用变量也可以指向实现类的实例对象 * 程序调用的方法在运行期才动态绑定 * 绑定指将 ...

  4. java代码简单实现队列

    1. 基于链表简单实现 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; / ...

  5. java代码执行顺序

    class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println(&quo ...

  6. 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

    一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...

  7. java 实现简单的顺序队列

    package com.my; import java.util.Arrays; /** * 顺序队列 * @author wanjn * */ public class ArrayQueue { p ...

  8. 数据结构----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

    一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...

  9. 详解JavaScript的任务、微任务、队列以及代码执行顺序

    摘要: 理解JS的执行顺序. 作者:前端小智 原文:详解JavaScript的任务.微任务.队列以及代码执行顺序 思考下面 JavaScript 代码: console.log("scrip ...

随机推荐

  1. tomcat 并发配置优化

    修改tomcat/conf/server.xml配置文件. <Executor name="tomcatThreadPool" namePrefix="catali ...

  2. Java开发需要注意的流程

    将一些需要变动的配置写在属性文件中 比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置.那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无阻地运行,但是一旦部署在PROD ...

  3. java成神之——网络编程基本操作

    网络编程 获取ip UDP程序示例 TCP程序 结语 网络编程 获取ip InetAddress id = InetAddress.getLocalHost(); // InetAddress id ...

  4. python构造远控

    server端: import socket import subprocess server=socket.socket() server.bind(('127.0.0.1',4444)) serv ...

  5. Java中 单例(Singleton)的两种方式

    第一种(饿汉式单例模式):在声明变量时实例化 public class Singleton { //静态初始化自动实例化 private static Singleton instance = new ...

  6. PL/SQL查询设计器

    被微软惯坏的我,在使用PL/SQL进行oracle多表连接查询操作时候经常挠头. 今天无意间发现了PL/SQL也有查询设计器,虽然没有sqlserver的强大好用,但足够用了. 在菜单栏 工具---& ...

  7. 尝试在centos5下运行phantomjs2

    在redhat5上运行plantomjs 2,出现如下错误 bin/phantomjs: /lib64/libz.so.1: no version information available (req ...

  8. 用Golang为Python编写模块

    Go里面需要显示的引入C模块, 让编译器支持生成动态链接库, 并且在代码中可以使用C语言的数据类型,这个至关重要. Calling Go code from Python code 摘取一个最简单例子 ...

  9. 八数码问题——A*大法好

    [描述] 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示. 空格周围的棋子可以移到空格中. 要求解的问题是:给出一种初始布局(初始状态)和目标布局( ...

  10. android:gravity设置居中的问题

    如果设置一个Button的android:gravity="center" android:text="按钮",则是设置了“按钮”两个字在Button中居中显示 ...