当前位置:   article > 正文

java 实现循环队列等基本操作_java循环队列标准库

java循环队列标准库

 

 

Node类:

  1. package SqQueue;
  2. public class Node {
  3. String name;
  4. int age;
  5. public Node() {
  6. }
  7. public Node(String name, int age) {
  8. this.name = name;
  9. this.age = age;
  10. }
  11. @Override
  12. public String toString() {
  13. return name+"\t"+age;
  14. }
  15. }

 SqQueue类:

  1. package SqQueue;
  2. public class SqQueue {
  3. int rear;//对尾
  4. int front;//队首
  5. int MaxSize;
  6. Node[] nodes;
  7. public SqQueue() {
  8. rear=0;
  9. front=0;
  10. MaxSize=6;//实际上空间大小只有5
  11. nodes=new Node[MaxSize];
  12. }
  13. //判断循环队列是否空
  14. public boolean isEmpty() {
  15. if(rear==front)
  16. return true;
  17. else
  18. return false;
  19. }
  20. //判断循环队列是否满了
  21. public boolean isFull() {
  22. return (rear+1)%MaxSize==front?true:false;
  23. }
  24. //入队
  25. public void push(Node node) {
  26. if(isFull()) {
  27. System.out.println("队列已满,无法操作");
  28. }
  29. else {
  30. nodes[rear]=node;
  31. rear=(rear+1)%MaxSize;
  32. }
  33. }
  34. //出队
  35. public Node pop() {
  36. if(isEmpty()) {
  37. System.out.println("队列为空,无法操作");
  38. return null;
  39. }
  40. else {
  41. Node temp=nodes[front];
  42. front=(front+1)%MaxSize;
  43. return temp;
  44. }
  45. }
  46. //队列个数
  47. public int getLength() {
  48. if(isEmpty())
  49. return 0;
  50. else
  51. return (rear-front+MaxSize)%MaxSize;
  52. }
  53. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/884814
推荐阅读
相关标签
  

闽ICP备14008679号