week 4 貓狗佇列

2021-10-05 14:01:43 字數 1771 閱讀 4421

topic requirement:

寵物、狗和貓的類如下:

public class pet  

public string getpettype()

}public class dog extends pet

}public class cat extends pet

}

實現乙個貓狗佇列,要求如下:

1.可以呼叫add()方法,將cat類和dog類新增到佇列中;

2.可以呼叫pollall()方法,將佇列中的所有例項按入佇列的順序依次彈出;

3.可以呼叫pollcat()方法,將佇列中的所有cat物件例項按入佇列的順序依次彈出;

4.可以呼叫polldog()方法,將佇列中的所有dog物件例項按入佇列的順序依次彈出;

5.可以呼叫isempty()方法,判斷對佇列是否為空;

6.可以呼叫iscatempty()方法,判斷佇列是否有cat物件例項;

7.可以呼叫isdogempty()方法,判斷佇列是否有dog物件例項;

thoughts:

佇列是先進先出,由於要存放兩種不同的物件,因此可以用兩個佇列分別存放dog物件和cat物件。由於要維持進入佇列的順序,

在不改變原有類的情況下,我們可以構造乙個類enterpetqueue,在類中引入計數變數,來記錄物件的入隊順序。

public class dogcatqueue1 

public string getpettype()

} public static class dog extends pet

} public static class cat extends pet

} public static class petenterqueue

public pet getpet()

public long getcount()

public string getenterpettype()

} public static class dogcatqueue

public void add(pet pet) else if (pet.getpettype().equals("cat")) else

} public pet pollall() else

} else if (!this.dogq.isempty()) else if (!this.catq.isempty()) else

} public dog polldog() else

} public cat pollcat() else

throw new runtimeexception("cat queue is empty!");

} public boolean isempty()

public boolean isdogqueueempty()

public boolean iscatqueueempty()

} public static void main(string args)

while (!test.isempty())

}}

reference:左神

encouragement:

趁著都還在,珍惜身邊的人,不要等失去的時候才後悔,我花了幾年的時間才真正搞清楚這句話的含義。

程式設計 Week4 作業

題意 zjm 有 n 個作業,每個作業都有自己的 ddl,如果 zjm 沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。所以 zjm 想知道如何安排做作業的順序,才能盡可能少扣一點分。請你幫幫他吧!input 輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用例的數量。每個...

演算法 貓狗佇列

題目要求 實現一種狗貓佇列的結構,要求如下 使用者可以呼叫add方法將cat類或dog類的例項放入佇列中 使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出 使用者可以呼叫polldog方法,將佇列中dog類的例項按照進佇列的先後順序依次彈出 使用者可以呼叫pollca...

貓狗佇列 C 實現

實現一種貓狗佇列的結構,要求如下 1.使用者可以呼叫add方法將cat類或者dog類的例項放入佇列中 2.使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出 3.使用者可以呼叫polldog方法,將佇列中的dog類的例項按照進佇列的先後循序一次彈出 4.使用者可以呼叫p...