国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
編寫(xiě)一個(gè)JAVA的隊(duì)列類(lèi)

  隊(duì)列是設(shè)計(jì)程序中常用的一種數(shù)據(jù)結(jié)構(gòu)。它類(lèi)似日常生活中的排隊(duì)現(xiàn)象,采用一種被稱(chēng)為“先進(jìn)先出”(LIFO)的存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)

  隊(duì)列是設(shè)計(jì)程序中常用的一種數(shù)據(jù)結(jié)構(gòu)。它類(lèi)似日常生活中的排隊(duì)現(xiàn)象,采用一種被稱(chēng)為“先進(jìn)先出”(LIFO)的存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)元素只能從隊(duì)尾進(jìn)入,從隊(duì)首取出。在隊(duì)列中,數(shù)據(jù)元素可以任意增減,但數(shù)據(jù)元素的次序不會(huì)改變。每當(dāng)有數(shù)據(jù)元素從隊(duì)列中被取出,后面的數(shù)據(jù)元素依次向前移動(dòng)一位。所以,任何時(shí)候從隊(duì)列中讀到的都是隊(duì)首的數(shù)據(jù)。


  根據(jù)這些特點(diǎn),對(duì)隊(duì)列定義了以下六種操作:
  enq(x) 向隊(duì)列插入一個(gè)值為x的元素;
  deq() 從隊(duì)列刪除一個(gè)元素;
  front() 從隊(duì)列中讀一個(gè)元素,但隊(duì)列保持不變;
  empty() 判斷隊(duì)列是否為空,空則返回真;
  clear() 清空隊(duì)列;
  search(x) 查找距隊(duì)首最近的元素的位置,若不存在,返回-1。

  Vector類(lèi)是JAVA中專(zhuān)門(mén)負(fù)責(zé)處理對(duì)象元素有序存儲(chǔ)和任意增刪的類(lèi),因此,用Vector
  可以快速實(shí)現(xiàn)JAVA的隊(duì)列類(lèi)。元素只能從隊(duì)尾進(jìn)入,從隊(duì)首取出。在隊(duì)列中,數(shù)據(jù)元素可以任意增減,但數(shù)據(jù)元素的次序不會(huì)改變。每當(dāng)有數(shù)據(jù)元素從隊(duì)列中被取出,后面的數(shù)據(jù)元素依次向前移動(dòng)一位。所以,任何時(shí)候從隊(duì)列中讀到的都是隊(duì)首的數(shù)據(jù)。


  根據(jù)這些特點(diǎn),對(duì)隊(duì)列定義了以下六種操作:
  enq(x) 向隊(duì)列插入一個(gè)值為x的元素;
  deq() 從隊(duì)列刪除一個(gè)元素;
  front() 從隊(duì)列中讀一個(gè)元素,但隊(duì)列保持不變;
  empty() 判斷隊(duì)列是否為空,空則返回真;
  clear() 清空隊(duì)列;
  search(x) 查找距隊(duì)首最近的元素的位置,若不存在,返回-1。

  Vector類(lèi)是JAVA中專(zhuān)門(mén)負(fù)責(zé)處理對(duì)象元素有序存儲(chǔ)和任意增刪的類(lèi),因此,用Vector
  可以快速實(shí)現(xiàn)JAVA的隊(duì)列類(lèi)。

 
import java.util.*;
public class BroadCastQueue extends Vector {//向量的子類(lèi)
 public BroadCastQueue(){
  super();
 }
 
public synchronized void enq(Object x) {
super.addElement(x);
}
public synchronized Object deq() {
/* 隊(duì)列若為空,引發(fā)EmptyQueueException異常 */
if( this.empty() )
throw new EmptyQueueException();
Object x = super.elementAt(0);
super.removeElementAt(0);
return x;
}
public synchronized Object front() {
if( this.empty() )
throw new EmptyQueueException();
return super.elementAt(0);
}
public boolean empty() {
return super.isEmpty();
}
public synchronized void clear() {
super.removeAllElements();
}
public int search(Object x) {
return super.indexOf(x);
}
}
 
import java.util.*;
public class BroadCastQueue extends Vector {//向量的子類(lèi)
 public BroadCastQueue(){
  super();
 }
 
public synchronized void enq(Object x) {
super.addElement(x);
}
public synchronized Object deq() {
/* 隊(duì)列若為空,引發(fā)EmptyQueueException異常 */
if( this.empty() )
throw new EmptyQueueException();
Object x = super.elementAt(0);
super.removeElementAt(0);
return x;
}
public synchronized Object front() {
if( this.empty() )
throw new EmptyQueueException();
return super.elementAt(0);
}
public boolean empty() {
return super.isEmpty();
}
public synchronized void clear() {
super.removeAllElements();
}
public int search(Object x) {
return super.indexOf(x);
}
}
 
 
import java.lang.*;
public class EmptyQueueException extends RuntimeException{
 public EmptyQueueException(){
  
 }
}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Java事件機(jī)制理解及應(yīng)用
圖解多線(xiàn)程
Java集合源碼剖析之Java集合框架
同步類(lèi)容器和并發(fā)類(lèi)容器
java三篇博客轉(zhuǎn)載 詳解-vector,stack,queue,deque
Java的常用類(lèi)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服