6.適配器模式-組合模式

6.適配器模式-組合模式

ID:38579048

大小:104.50 KB

頁數(shù):7頁

時間:2019-06-15

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

《6.適配器模式-組合模式》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

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

2、erfaceDataOperation{---;---;}classQuickSort{publicint[]quickSort(int[]num){returnsort(num,0,num.length-1);}privateint[]sort(int[]num,intleft,intright){if(left

3、ength&&num[++i]-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的左右兩側(cè)分別再次使用快速排序sort(num,left,j-1);sort(num,

4、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){//此時拋出ArrayIndexOutOfBoundsException異常..intmid=low+(high-low

5、)/2;intmidVal=num[mid];if(x>midVal){low=mid+1;}elseif(x

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

7、}---;System.out.println("Listaftersort:");for(inti=0;i

8、可以對某個指定的文件(File)進行殺毒,文件種類包括文本文件TextFile、圖片文件ImageFile、音頻視頻文件MediaFile。繪制類圖并編程實現(xiàn)。importjava.util.ArrayList;interfaceAbstractElement{----;}classImageFileimplementsAbstractElement{---

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

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

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