适配器模式组合模式.doc

适配器模式组合模式.doc

ID:55157305

大小:100.00 KB

页数:7页

时间:2020-04-29

适配器模式组合模式.doc_第1页
适配器模式组合模式.doc_第2页
适配器模式组合模式.doc_第3页
适配器模式组合模式.doc_第4页
适配器模式组合模式.doc_第5页
资源描述:

《适配器模式组合模式.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、10.适配器模式现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch的binarySearch(int[],int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序

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

3、大的数while(i+1-1&&num[--j]>s);//此时如果i>=j,则说明已交叉,跳出该永久循环if(i>=j){break;}//否则如果i<=j,则交换下标为i和下标为j的两元素的值swap(num,i,j);}//把比S小的数放到下标为left处num[left]=num[j];//最后将轴S置于比它小和比它大的两组数之间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。绘制类图并编程实现。importjava.util.ArrayList;interfaceAbstractElement{----;}classImageFileimplementsAbstractElement{---

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。