java代码实现顺序队列
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代码实现顺序队列的更多相关文章
- Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序
//据说这是一道阿里巴巴面试题,先以这道题为例分析下 public class Text { public static int k = 0; public static Text t1 = new ...
- Java 代码运行顺序
1.静态代码块,只执行一次,从上到下,先父类后子类 2.父类构造代码块,从上到下,然后父类构造方法,执行次数与实例化次数相关 3.子类构造代码块,从上到下,然后子类构造方法,执行次数与实例化次数相关
- Java代码执行顺序及多态体现
/** * Description: * 基类的引用变量可以只想基类的实例对象也可指向其子类的事来对象 * 接口的引用变量也可以指向实现类的实例对象 * 程序调用的方法在运行期才动态绑定 * 绑定指将 ...
- java代码简单实现队列
1. 基于链表简单实现 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; / ...
- java代码执行顺序
class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println(&quo ...
- 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...
- java 实现简单的顺序队列
package com.my; import java.util.Arrays; /** * 顺序队列 * @author wanjn * */ public class ArrayQueue { p ...
- 数据结构----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...
- 详解JavaScript的任务、微任务、队列以及代码执行顺序
摘要: 理解JS的执行顺序. 作者:前端小智 原文:详解JavaScript的任务.微任务.队列以及代码执行顺序 思考下面 JavaScript 代码: console.log("scrip ...
随机推荐
- ror中间一些单复数的规则
基于rails generate生成的东西里面,有一些单复数的规则刚开始很不理解,觉得很复杂,容易弄错,特此记录 model 实际是对于数据库数据的对象化,只体现单个对象,比如模型user有name和 ...
- laravel查看sql语句
我自己是用第一种方法来调试的,第三种不行 不知道为啥 laravel查看sql语句 方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 ...
- ExcelHandle
using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using Syste ...
- mysql权限验证流程
mysql用户管理,逐级下查 mysql库的user表连接信息,全局权限db表记录用户对库的权限,对某个数据库的所有表的权限tables_priv 设置用户对表的权限columns_priv设置用户对 ...
- Linux学习笔记 - Shell 运算符篇
Shell 运算符分类 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 算数运算符 首先,使用 shell 算数运算符是,需要 ...
- TCP与UDP比较 以及并发编程基础知识
一.tcp比udp真正可靠地原因 1.为什么tcp比udp传输可靠地原因: 我们知道在传输数据的时候,数据是先存在操作系统的缓存中,然后发送给客户端,在客户端也是要经过客户端的操作系统的,因为这个过程 ...
- CVE-2017-8464(震网三代)复现
开启msf root@sch01ar:~# msfconsole 设置模块 msf > use exploit/windows/fileformat/cve_2017_8464_lnk_rce ...
- python构造远控
server端: import socket import subprocess server=socket.socket() server.bind(('127.0.0.1',4444)) serv ...
- 02-26C#三级省市区ajax联动控件,利用UpdatePanel,以及页面取值
第一步:设置界面 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="PCAC ...
- leetcode318
public class Solution { public int MaxProduct(string[] words) { ) { ; } int len = words.Length; int[ ...