游戏陪玩系统源码,java实现环形队列
环形队列
队列是一种先进先出的数据结构
代码思路
用数组存放队列的数据
front指向队首元素
rear指向队尾元素
num存放当前已经存在的元素个数,有了num,判断队列是否为空是否存满比较方便
publicclassDemo2{publicstaticvoidmain(String[]args){ArrayQueuequeue=newArrayQueue(5);queue.addNum(10001);queue.addNum(10002);queue.addNum(10003);queue.addNum(10004);queue.addNum(10005);System.out.println(queue.getNum());System.out.println(queue.getNum());queue.addNum(1);queue.addNum(2);queue.addNum(3);queue.showQueue();System.out.println(queue.getNum());System.out.println(queue.getNum());System.out.println(queue.getNum());System.out.println(queue.getNum());System.out.println(queue.getNum());System.out.println(queue.getNum());}}classArrayQueue{//队列的大小intmaxSize;//用数组来实现队列int[]arr;//指向队列首元素intfront;//指向队列尾元素intrear;//当前队列的元素的个数intnum;publicArrayQueue(intmaxSize){this.maxSize=maxSize;this.arr=newint[this.maxSize];front=-1;rear=-1;}publicbooleanisFull(){returnnum==maxSize;}publicbooleanisEmpty(){returnnum==0;}publicvoidaddNum(intnum){if(isFull()){System.out.println("队列已满,无法在进行入队操作");return;}//队尾标记后移,指向要放入的元素的位置if(front==-1&&rear==-1){front=0;rear=0;}else{rear=rear+1;}if(rear==maxSize){rear=0;}arr[rear]=num;this.num++;}publicintgetNum(){if(isEmpty()){thrownewRuntimeException("队列为空,无法出队");}//队首标记后移,指向队首元素System.out.print("出队元素是:");this.num--;intres=arr[front];front++;if(front==maxSize){front=0;}returnres;}publicvoidshowQueue(){if(isEmpty()){thrownewRuntimeException("队列为空,无法遍历");}System.out.println("遍历队列");if(rear>=front){for(intstart=front;start<=rear;start++){System.out.println(arr[start]);}}else{for(intstart=front;start<=maxSize-1;start++){System.out.println(arr[start]);}for(intstart=0;start<=rear;start++){System.out.println(arr[start]);}}}}以上就是游戏陪玩系统源码,java实现环形队列, 更多内容欢迎关注之后的文章