您现在的位置是:主页 > news > 自己可以做网站空间吗/百度竞价是什么
自己可以做网站空间吗/百度竞价是什么
admin2025/6/10 15:35:10【news】
简介自己可以做网站空间吗,百度竞价是什么,创建网站的工作流程八年级信息技术,推广网站的方法写在前面 队列就像是我们平时排队一样,先来的人先享受服务,所以队列的一个重要特性就是先进先出(FIFO,First In First Out)。 而在Java中,队列Queue的实现类非常多: 那么在这里,我们就不一一描述这些实现…
自己可以做网站空间吗,百度竞价是什么,创建网站的工作流程八年级信息技术,推广网站的方法写在前面 队列就像是我们平时排队一样,先来的人先享受服务,所以队列的一个重要特性就是先进先出(FIFO,First In First Out)。
而在Java中,队列Queue的实现类非常多: 那么在这里,我们就不一一描述这些实现…
写在前面
队列就像是我们平时排队一样,先来的人先享受服务,所以队列的一个重要特性就是先进先出(FIFO,First In First Out)。
而在Java中,队列Queue的实现类非常多:
那么在这里,我们就不一一描述这些实现类了,而是自定义实现队列,实现的方式也是基于两种基本的数据结构,数组和链表。
利用数组实现队列
利用数组实现队列的时候应该注意一点,那就是队伍本身是在移动的,当队首出队时,排在队首后面的人应该往前移动,就像是我们平时排队一样,队伍最前面的人走了,我们应该往前走一步,把空位补上。
对于队列而言,最基本的方法就是,入队,出队,以及判断队列是否为空,而当我们用数组来实现队列的时候,就必须得到考虑到扩容问题。
代码如下:
import java.util.Arrays;
/*** Java Queue队列的数组实现* * @作者(yequan17)* @版本(2021.12.9)*/
public class JQueueArray
{public static class ArrayQueue<E>{Object[] queue;int size;public ArrayQueue(){queue=new Object[10];}public boolean isEmpty(){return size==0;}//入队public void offer(E data){ensureCapacity(size+1);queue[size++]=data;}//扩容private void ensureCapacity(int size){if(size>queue.length){int length=queue.length+10;queue=Arrays.copyOf(queue,length);}}//出队public E poll(){if(isEmpty()) return null;E data=(E)queue[0];System.arraycopy(queue,1,queue,0,size-1);//填满空位size--;return data;}}public static void main(String[] args){ArrayQueue<Integer> queue=new ArrayQueue();for(int i=0;i<20;i++){queue.offer(i);}for(int i=0;i<10;i++){System.out.println("出队元素为:"+queue.poll());}}
}
利用链表实现队列
当我们使用链表的时候,由于链表的地址是不连续的,就不需要考虑扩容问题了。
代码如下:
/*** Java Queue的链表实现* * @作者(yequan17)* @版本(2021.12.9)*/
public class JQueueList
{static class ListNode<E>{ListNode<E> next=null;E data;public ListNode(E data){this.data=data;}}public static class ListQueue<E>{private ListNode<E> head=null;//队首private ListNode<E> tail=null;//队尾public boolean isEmpty(){return head==null;}//入队public void offer(E e){ListNode<E> node=new ListNode<E>(e);if(isEmpty()){head=node;tail=node;return ;}tail.next=node;tail=node;}public E poll(){if(isEmpty()) return null;E data=head.data;head=head.next;return data;}}public static void main(String[] args){ListQueue<String> queue=new ListQueue<>();System.out.println("入队");queue.offer("first");queue.offer("second");queue.offer("third");System.out.println("出队"+queue.poll());System.out.println("出队"+queue.poll());System.out.println("出队"+queue.poll());}
}