zoukankan      html  css  js  c++  java
  • 数据结构与算法Java描述 队列

    package com.cjm.queue;
    
    /**
     * 数据结构与算法Java实现 队列
     * 
     * @author 小明
     *
     */
    public class Myqueue {
    	private Node head;// 队列的队头
    	private Node rear;// 对列的尾
    	private int size;//队列长度
    	public Myqueue() {//初始化
    		head=rear=null;
    		size=0;
    	}
    	/*
    	 * 插入函数
    	 */
    	public void add(Node node) {
    		if(size==0) {//当队列为空时
    			head=rear=node;//队头和队尾均为插入元素
    			size++;//长度加一
    		}else {//当长度不为0时
    			rear.setNext(node);//改变队尾的后继
    			rear=node;//改变队尾
    			size++;//长度加一
    		}
    	}
    	public void out() throws IndexException {
    		if(size==0) {//对列为空时
    			throw new IndexException("队列中为空,无法出队列");
    		}else {//队列不为空
    			head=head.getNext();//修改队头
    			size--;//长度减一
    		}
    	}
    	@Override
    	public String toString() {
    		String str=" ";
    		Node temp=head;
    		while(temp!=null) {
    			str+=temp.getElement()+" ";//拼接
    			temp=temp.getNext();//后移
    		}
    		str="["+str+" ]";
    		return str;
    	}
    	public static void main(String[] args) throws IndexException {
    		Myqueue myqueue=new Myqueue();
    		myqueue.add(new Node(1));
    		myqueue.add(new Node(2));
    		myqueue.add(new Node(3));
    		myqueue.add(new Node(4));
    		myqueue.add(new Node(5));
    		myqueue.add(new Node(6));
    		myqueue.add(new Node(7));
    		myqueue.add(new Node(8));
    		myqueue.add(new Node(9));
    		myqueue.add(new Node(10));
    		myqueue.out();
    		myqueue.out();
    		System.out.println(myqueue);
    	}
    }
    
    class Node<T> {
    	private T element;// 数据域
    	private Node next;// 后继
    
    	public Node(T t) {
    		element = t;
    		next = null;
    	}
    
    	public Node getNext() {
    		return next;
    	}
    
    	public T getElement() {
    		return element;
    	}
    
    	public void setNext(Node next) {
    		this.next = next;
    	}
    }
    /*
     * 索引异常类
     */
    class IndexException extends Exception {
    	public IndexException() {
    
    	}
    
    	public IndexException(String s) {
    		super(s);
    	}
    }

      结果如下:

  • 相关阅读:
    yolo2 anchor选择校招总结
    rfcn校招总结
    cascade rcnn
    sort论文和代码解读
    重要的观点
    代办项
    stixel上边缘
    resnet densenet
    最小二乘法和线性回归
    逻辑回归原理
  • 原文地址:https://www.cnblogs.com/SAM-CJM/p/9316809.html
Copyright © 2011-2022 走看看