一) 策略模式简介
策略模式的结构图如下所示:
二) Java语言描述
用策略模式实现各种排序算法的调用:
/*
* 策略模式(策略构件)
* @author junin
*/
public class Strategy
{
private StrategyInter strategy;
public Strategy(StrategyInter strategy)
{
this.strategy = strategy;
}
public void sort()
{
strategy.sort();
}
}
/*
* 策略模式(策略接口)
* @author junin
*/
public abstract class StrategyInter
{
public abstract void sort();
}
/*
* 策略模式(具体策略类)
* @author junin
*/
public class BuddleSort extends StrategyInter
{
public void sort()
{
//BuddleSort code
System.out.println("===BuddleSort===");
}
}
/**
* 策略模式(具体策略类)
* @author junin
*/
public class InsertSort extends StrategyInter
{
public void sort()
{
//InsertSort code
System.out.println("===InsertSort===");
}
}
/**
* 策略模式(具体策略类)
* @author junin
*/
public class QuickSort extends StrategyInter
{
public void sort()
{
//QuickSort code
System.out.println("===QuickSort===");
}
}
/**
* 策略模式(具体策略类)
* @author solid
*/
public class SelectSort extends StrategyInter
{
public void sort()
{
//SelectSort code
System.out.println("===SelectSort===");
}
}
分享到:
相关推荐
标题中的"DP-means"和"k-means"都是在数据挖掘和机器学习领域广泛应用的聚类算法。这两种方法主要用于无监督学习,即在没有预先指定类别的情况下,将数据集中的对象自动分组到不同的类别中。现在,我们将深入探讨这...
适用于RD-EB、RD-ET、RD-EZ、RD-EB-MX、RD-ET-MX、RD-EZ-MX、KRD-EB、KRD-ET、KRD-EZ、KRD-EB-MX、KRD-ET-MX、KRD-EZ-MX 、SRD-R100、Q3-R100、Q3-R101、Q3-R102、DP-R103、DP-R 113、DP-R123、DP-R133、DP-R143、...
《松下DP-8016P/PK 32位驱动详解及安装指南》 在信息技术领域,打印机是日常办公不可或缺的设备之一。松下DP-8016P和DP-8020P作为高效能的商务打印机,为用户提供了高质量的文档输出服务。然而,为了让这些设备正常...
在配置dp83848时,需要设置正确的接口模式、速度和双工状态,并确保两者之间的MDI/MDIX自动交叉功能正常工作。 freeRTOS是一个实时操作系统,用于资源有限的嵌入式系统。在这个实验中,它将被用作任务调度器,允许...
DP-302的USB接口打印服务器为用户提供在局域网内分享他们的打印机的服务,并对于那些DP-302兼容的打印机产品提供在线打印服务。DP-302打印服务器允许多个用户直接从电脑上发送文件传输到打印机上进行打印工作。在...
《天际航图像快速建模系统DP-Modeler2.3》是一款专为3D建模和视觉效果设计的专业软件,结合了先进的图像处理技术和高效的工作流程,旨在为用户提供便捷、精准的三维模型构建能力。DP-Modeler是天际航公司的明星产品...
动态规划(DP)——背包问题算法详解[背包九讲]
DP-301U作为D-LINK的一款产品,支持多种网络协议,如TCP/IP、DHCP、DNS和PPPoE,确保了在各种网络环境下的兼容性。 DP-301U的驱动程序是确保其正常运行的关键软件组件。驱动程序是计算机硬件与操作系统之间的桥梁,...
【D-Link DP-302 打印服务器驱动】是一款专为D-Link公司的DP-302打印服务器设计的驱动程序。该驱动程序在IT领域中扮演着至关重要的角色,因为它允许计算机与DP-302打印服务器之间进行有效的通信,确保打印机能够正确...
values-sw300dp values-sw310dp values-sw320dp values-sw330dp values-sw340dp values-sw350dp values-sw360dp values-sw370dp values-sw380dp values-sw390dp values-sw400dp values-sw410dp values-sw420dp ...
【libsvm-dp-master】是一个基于著名的开源库【libsvm】的扩展版本,它引入了动态规划(DP)算法,以适应更广泛的机器学习任务,尤其是那些需要神经网络集成的场景。libsvm-dp-master的核心目标是提升模型的性能和...
D-Link DP-302 打印服务器固件,最新V1.03版本。也是最终版本,支持更多打印机。
### DP-ModelerV2.3 用户手册知识点详解 #### 1. 系统简介 **1.1 产品概述** DP-ModelerV2.3是一款由武汉天际航信息科技股份有限公司研发的图像快速建模系统。该系统主要用于通过二维图像数据构建高质量的三维...
### DP83848-单路10/100_Mbs以太网收发器在省电模式下的初始化 #### 概述 本文档主要介绍了DP83848这款10/100Mbps单路以太网收发器在省电模式下的初始化流程及相关设置。DP83848是一款高性能、低功耗的以太网物理...
动态规划(Dynamic Programming,简称DP)是一种在计算机科学和数学中广泛应用的算法设计技术,尤其在优化问题中表现卓越。DP背包问题是一个经典的DP应用实例,它涉及到如何在一个有限的背包容量内,选取一组物品以...
2.加了一个JDP免狗版的快捷方式 ---其实就是软件及转换器开启的快捷方式 (因为批处理的图标不是那么好看) 软件启动界面如下: 简单的出个路径,主要看下流程: 输出刀路成功 再次郑重声明:本软件仅供...
- 如果不同,我们需要考虑替换、删除和插入三种操作,取它们中的最小值作为dp[i][j]的值,即dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1。 通过这种方式,我们自底向上地计算出整个二维数组,最后...
snakes:Active contour model Kass snakes,shapes and gradient vector flow Xu chenyang Using Dynamic Programming for Minimizing the Energy of Active Contours in the Presence of Hard Constraints Amir A....
数学期望、概率DP、锦标赛排序、洪水填充算法和平衡规划都是非常重要的知识点,它们在解决实际问题时扮演着关键角色。通过学习这些知识点,我们可以更好地解决实际问题,并提高自己的编程能力。