適配器模式組合模式.doc

適配器模式組合模式.doc

ID:55157305

大小:100.00 KB

頁數(shù):7頁

時間:2020-04-29

適配器模式組合模式.doc_第1頁
適配器模式組合模式.doc_第2頁
適配器模式組合模式.doc_第3頁
適配器模式組合模式.doc_第4頁
適配器模式組合模式.doc_第5頁
資源描述:

《適配器模式組合模式.doc》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫

1、10.適配器模式現(xiàn)有一個接口DataOperation定義了排序方法sort(int[])和查找方法search(int[],int),已知類QuickSort的quickSort(int[])方法實現(xiàn)了快速排序算法,類BinarySearch的binarySearch(int[],int)方法實現(xiàn)了二分查找算法?,F(xiàn)使用適配器模式設計一個系統(tǒng),在不修改源代碼的情況下將類QuickSort和類BinarySearch的方法適配到DataOperation接口中。繪制類圖并編程實現(xiàn)。(要求實現(xiàn)快速排序

2、和二分查找)interfaceDataOperation{---;---;}classQuickSort{publicint[]quickSort(int[]num){returnsort(num,0,num.length-1);}privateint[]sort(int[]num,intleft,intright){if(left

3、大的數(shù)while(i+1-1&&num[--j]>s);//此時如果i>=j,則說明已交叉,跳出該永久循環(huán)if(i>=j){break;}//否則如果i<=j,則交換下標為i和下標為j的兩元素的值swap(num,i,j);}//把比S小的數(shù)放到下標為left處num[left]=num[j];//最后將軸S置于比它小和比它大的兩組數(shù)之間num[j]=s;//對S的左右兩側分別再次使用快速排序s

4、ort(num,left,j-1);sort(num,j+1,right);}returnnum;}privatevoidswap(int[]num,inti,intj){intt;t=num[i];num[i]=num[j];num[j]=t;}}classBinarySearch{publicintbinarySearch(int[]num,intx){intlow=0;inthigh=num.length-1;while(low<=high){//此時拋出ArrayIndexOutOfBou

5、ndsException異常..intmid=low+(high-low)/2;intmidVal=num[mid];if(x>midVal){low=mid+1;}elseif(x

6、ch(int[]list,intnumber){return---;}@Overridepublicvoidsort(int[]list){---;}}classDataOperationClient{publicstaticvoidmain(Stringa[]){---;//適配器DataOperationAdapterint[]list={1,3,56,23,54,86,43,57,88,56,82,90};System.out.println("Listbeforesort:");for(i

7、nti=0;i

8、結果:12.組合模式使用組合模式設計一個殺毒軟件(AntiVirus)的框架,該軟件既可以對某個文件夾(Folder)殺毒,也可以對某個指定的文件(File)進行殺毒,文件種類包括文本文件TextFile、圖片文件ImageFile、音頻視頻文件MediaFile。繪制類圖并編程實現(xiàn)。importjava.util.ArrayList;interfaceAbstractElement{----;}classImageFileimplementsAbstractElement{---

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。