實現一種貓狗佇列的結構,要求如下:
1. 使用者可以呼叫 add 方法將 cat 或者 dog 放入佇列中
2. 使用者可以呼叫 pollall 方法將佇列中的 cat 和 dog 按照進佇列的先後順序依次彈出
3. 使用者可以呼叫 polldog 方法將佇列中的 dog 按照進佇列的先後順序依次彈出
4. 使用者可以呼叫 pollcat 方法將佇列中的 cat 按照進佇列的先後順序依次彈出
5. 使用者可以呼叫 isempty 方法檢查佇列中是否還有 dog 或 cat
6. 使用者可以呼叫 isdogempty 方法檢查佇列中是否還有 dog
7. 使用者可以呼叫 iscatempty 方法檢查佇列中是否還有 cat
第一行輸入乙個整數 n 表示 使用者的操作總次數。
以下 n行 每行表示使用者的一次操作
每行的第乙個引數為乙個字串 s,若 s = 「add」, 則後面接著有 「cat x」(表示貓)或者「dog x」(表示狗),其中的 x 表示貓狗的編號。
對於每個操作:
若為 「add」,則不需要輸出。
以下僅列舉幾個代表操作,其它類似的操作輸出同理。
若為 「pollall」,則將佇列中的 cat 和 dog 按照進佇列的先後順序依次彈出。(fifo),格式見樣例。
若為 "isempty",則檢查佇列中是否還有 dog 或 cat, 為空則輸出 「yes」, 否則輸出 「no」。
輸入:11add cat 1add dog 2pollall
isempty
add cat 5isdogempty
pollcat
add dog 10add cat 199polldog
pollall
輸出:cat 1dog 2yes
yescat 5dog 10cat 199
用兩個佇列來分別存放貓狗元素,再通過count的大小來判斷入整個佇列的次序;
importj**a.io.ioexception;
import
j**a.util.linkedlist;
import
j**a.util.queue;
import
j**a.util.scanner;
//題目中給定的類
class
pet
public
string getpettype()
public
intgetx()
}class dog extends
pet}
class cat extends
pet}
//可以為不同的例項蓋上時間戳的新的類
class
petenterqueue
public
pet getpet()
public
long
getcount()
public
string getenterpettype()}//
貓狗佇列
class
dogcatqueue
public
void
add(pet pet)
else
if(pet.getpettype().equals("cat"))
else
}//注意彈出的不能是自己定義的petenterqueue
public
pet pollall()
else
} else
if(!this
.dogq.isempty())
else
if(!this
.catq.isempty())
else
}public
dog polldog()
else
}public
cat pollcat()
else
}public
boolean
isempty()
public
boolean
isdogqueueempty()
public
boolean
iscatqueueempty()
}public
class
main
else
if(who.equals("dog"))
else
break
;
case "pollall":
while(!dogcatqueue.isempty())
break
;
case "polldog":
while(!dogcatqueue.isdogqueueempty())
break
;
case "pollcat":
while(!dogcatqueue.iscatqueueempty())
break
;
case "isempty":
if(!dogcatqueue.isempty())
else
break
;
case "isdogempty":
if(!dogcatqueue.isdogqueueempty())
else
break
;
case "iscatempty":
if(!dogcatqueue.iscatqueueempty())
else
break
; }
}//最後的輸出只能由乙個回車,所以是system.out.println(res.substring(0,res.length()-1));或者下面這個
system.out.print(res);
}}
演算法 貓狗佇列
題目要求 實現一種狗貓佇列的結構,要求如下 使用者可以呼叫add方法將cat類或dog類的例項放入佇列中 使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出 使用者可以呼叫polldog方法,將佇列中dog類的例項按照進佇列的先後順序依次彈出 使用者可以呼叫pollca...
貓狗佇列 C 實現
實現一種貓狗佇列的結構,要求如下 1.使用者可以呼叫add方法將cat類或者dog類的例項放入佇列中 2.使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出 3.使用者可以呼叫polldog方法,將佇列中的dog類的例項按照進佇列的先後循序一次彈出 4.使用者可以呼叫p...
week 4 貓狗佇列
topic requirement 寵物 狗和貓的類如下 public class pet public string getpettype public class dog extends pet public class cat extends pet 實現乙個貓狗佇列,要求如下 1.可以呼叫a...