[javaSE] 数据结构(队列)
Posted 陶士涵的菜地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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, } }
以上是关于[javaSE] 数据结构(队列)的主要内容,如果未能解决你的问题,请参考以下文章