[javaSE] 数据结构(队列)详解编程语言

队列是一种线性存储结构,他有以下特点:

1.队列中数据是按照“先进先出”方式进出队列的

2.队列只允许在“队首”进行删除操作,在“队尾”进行插入操作

3.队列通常包含两种操作:入队列和出队列

 

使用数组实现队列

定义一个类ArrayQueue

实现入队列方法push()

实现出队列方法pop()

实现返回队首方法front()

实现返回队列长度方法size()

public class ArrayQueue { 
    private int[] mArray; 
    private int mCount; 
    public ArrayQueue(int num) { 
        mArray=new int[num]; 
        mCount=0; 
    } 
    /** 
     * 入队列 
     * @param item 
     */ 
    public void push(int item){ 
        mArray[mCount]=item; 
        mCount++; 
    } 
    /** 
     * 出队列 
     * @return 
     */ 
    public int pop(){ 
        int top=mArray[0]; 
        mCount--; 
        //往前移动一元素 
        for(int i=1;i<=mCount;i++){ 
            mArray[i-1]=mArray[i]; 
        } 
        return top; 
    } 
    /** 
     * 队列长度 
     * @return 
     */ 
    public int size(){ 
        return mCount; 
    } 
    /** 
     * 打印数组 
     */ 
    public void print(){ 
        for(int i=0;i<=mCount-1;i++){ 
            System.out.print(mArray[i]+","); 
        } 
    } 
    /** 
     * @param args 
     */ 
    public static void main(String[] args) { 
        ArrayQueue queue=new ArrayQueue(3); 
        queue.push(5); 
        queue.push(6); 
        queue.push(7); 
        queue.print();//输出 5,6,7, 
        queue.pop(); 
        queue.print();//输出 6,7, 
        queue.push(8); 
        queue.print();//输出 6,7,8, 
    } 
 
}

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12632.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论