欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java数据结构之有效队列定义与用法示例

程序员文章站 2024-04-02 09:03:34
本文实例讲述了java数据结构之有效队列定义与用法。分享给大家供大家参考,具体如下: /** * @描述 有序对列 * 从任何位置插入数据都是有序的...

本文实例讲述了java数据结构之有效队列定义与用法。分享给大家供大家参考,具体如下:

/**
 * @描述 有序对列
 * 从任何位置插入数据都是有序的
 * @项目名称 java_datastruct
 * @包名 com.java.stack
 * @类名 queue
 * @author chenlin
 */
public class sequequeue {
 private long[] arr;
 private int maxsize;// 最大空间
 private int len;// 有效长度
 public sequequeue(int size) {
  this.maxsize = size;
  this.arr = new long[maxsize];
  this.len = 0;
 }
 /**
  *插入数据
  *
  * @param value
  */
 public void insert(long value) {
  int i;
  for (i = 0; i < len; i++) {
   //得到i
   if (value > arr[i]) {
    break;
   }
  }
  //移动数据,把前面的数据往后移动一位
  for (int j = len; j > i; j--) {
   arr[j] = arr[j - 1];
  }
  arr[i] = value;
  len ++;
 }
 /**
  * 移除数据,每次移除最后一位,长度--
  * 数组从0到len - 1;
  */
 public long remove() {
  long value = arr[len - 1];
  len --;
  return value;
 }
 /**
  * 判断是否为空
  *
  * @return
  */
 public boolean isempty() {
  return (len == 0);
 }
 /**
  * 判断是否满了
  *
  * @return
  */
 public boolean isfull() {
  return (len == maxsize);
 }
 /**
  * 获得队列的有效长度
  *
  * @return
  */
 public int size() {
  return len;
 }
 public static void main(string[] args) {
  sequequeue queue = new sequequeue(8);
  queue.insert(22);
  queue.insert(33);
  queue.insert(44);
  queue.insert(534);
  queue.insert(21);
  queue.insert(55);
  system.out.println("测试结果:");
  while (!queue.isempty()) {
   system.out.println(queue.remove());
  }
 }
}

运行结果:

Java数据结构之有效队列定义与用法示例

更多关于java算法相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java操作dom节点技巧总结》、《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。