建立字元佇列介面。
待開發的三個實作:
固定大小的線性隊列。
循環隊列(複用數組空間)。
動態佇列(根據需要成長)。
1 建立一個名為 ICharQ.java
的文件
// 字元隊列介面。
公用介面 ICharQ {
// 向佇列中插入一個字元。
void put(char ch);
// 從佇列中刪除一個字元。
char get();
}
2 建立一個名為 IQDemo.java 的檔案。
3 透過新增此處顯示的 FixQueue 類別開始建立 IQDemo.java:
4 將如下所示的 CircularQueue 類別加入 IQDemo.java。
循環佇列操作:重複使用數組中刪除元素時釋放的空間,只要有刪除,它就可以儲存無限數量的元素。
邊界條件:當到達陣列結尾時,但當未刪除的項目被新項目覆蓋時,佇列未滿。
put() 方法必須檢查幾個條件來決定佇列是否已滿。滿隊列的條件: 如果滿足下列條件,則佇列已滿: putloc 的單位小於 getloc。 putloc 位於數組末尾,getloc 位於數組開頭。
空佇列條件:當 getloc 和 putloc 相等時,佇列為空。
陣列大小:底層陣列會比佇列大小大一個單位,以方便檢查。
5 在 IQDemo.java 中插入如下所示的 DynQueue 類別。它實現了一個“可擴展”隊列,當空間耗盡時可以擴展其大小。
- 在此佇列實作中,當佇列已滿時,嘗試儲存另一個元素會使新的底層陣列兩倍大 原始數組將被分配,隊列的當前內容將複製到此數組中,並且對新數組的引用將儲存在 q.
6 要示範 ICharQ 的三種實現,請將以下類別插入到 IQDemo.java 中。它使用 ICharQ 引用來存取所有佇列。
類別 IQDemo {
public static void main(String args[]) {
固定隊列 q1 = new 固定隊列(10);
DynQueue q2 = new DynQueue(5);
CircularQueue q3 = new CircularQueue(10);
ICharQ iQ;
char ch;
int i;
iQ = q1;
// 將一些字元插入到固定隊列中。
for(i=0; i
iQ.put((char) ('A' i));
// 顯示隊列。
System.out.print("固定隊列的內容:");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println();
iQ = q2;
// 在動態佇列中插入一些字元。
for(i=0; i
iQ.put((char) ('Z' - i));
// 顯示隊列。
System.out.print("動態佇列的內容:");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println();
iQ = q3;
// 在循環佇列中插入一些字元。
for(i=0; i
iQ.put((char) ('A' i));
// 顯示隊列。
System.out.print("循環佇列的內容:");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println();
// 將更多字元插入循環隊列。
for(i=10; i
iQ.put((char) ('A' i));
// 顯示隊列。
System.out.print("循環佇列的內容:");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println("n儲存並消費自"
“循環隊列。”);
// 儲存並使用循環佇列中的項目。
for(i=0; i
iQ.put((char) ('A' i));
ch = iQ.get();
System.out.print(ch);
}
}
}
7 建立 DynQueue 的循環版本。向 ICharQ 新增一個重置佇列的方法。建立一個靜態方法,將一種佇列類型的內容複製到另一種佇列類型。
以上是建立隊列介面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Java的五大特色是多態性、Lambda表達式、StreamsAPI、泛型和異常處理。 1.多態性讓不同類的對象可以作為共同基類的對象使用。 2.Lambda表達式使代碼更簡潔,特別適合處理集合和流。 3.StreamsAPI高效處理大數據集,支持聲明式操作。 4.泛型提供類型安全和重用性,編譯時捕獲類型錯誤。 5.異常處理幫助優雅處理錯誤,編寫可靠軟件。

java'stopfeatureSnificallyenhanceItsperformanCandScalability.1)對象 - 方向clincipleslike-polymormormormormormormormormormormormorableableflexibleandscalablecode.2)garbageCollectionAutectionAutoctionAutoctionAutoctionAutoctionAutoctionAutoMenateMememorymanateMmanateMmanateMmanagementButCancausElatemention.3)

JVM的核心組件包括ClassLoader、RuntimeDataArea和ExecutionEngine。 1)ClassLoader負責加載、鏈接和初始化類和接口。 2)RuntimeDataArea包含MethodArea、Heap、Stack、PCRegister和NativeMethodStacks。 3)ExecutionEngine由Interpreter、JITCompiler和GarbageCollector組成,負責bytecode的執行和優化。

Java'ssafetyandsecurityarebolsteredby:1)strongtyping,whichpreventstype-relatederrors;2)automaticmemorymanagementviagarbagecollection,reducingmemory-relatedvulnerabilities;3)sandboxing,isolatingcodefromthesystem;and4)robustexceptionhandling,ensuringgr

Javaoffersseveralkeyfeaturesthatenhancecodingskills:1)對象 - 方向 - 方向上的allowslowsmodelowsmodelingreal-worldentities

thejvmisacrucialcomponentthatrunsjavacodebytranslatingitolachine特定結構,影響性能,安全性和便攜性。 1)theclassloaderloader,links andinitializesClasses.2)theexecutionEngineExecutionEngineExecutionEngineExecuteNexeCuteByteCuteByteCuteByTecuteByteCuteByteCuteBytecuteBytecuteByteCoDeinintolachineinstructionsions.3)Memo.3)Memo


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具