用java把《data structure and algoritm analysis in c》里面的排序算法实现了。整个结构我使用的是strategy模式。由sort类扮演环境角色,sortstrategy扮演抽象策略角色。 具体策略角色有六个,分别是insertsort、bubblesort、choosesort、shellsort、mergesort、quicksort。分别是插入排序、冒泡排序、选择排序、希尔排序、归并排序和快速排序。
因为代码量比较大,所以分为几次贴出,这次只贴出sort和sortstrategy的代码。
sortstratey接口:
package utils.sort;
/**
*排序算法的接口
*/
interface sortstrategy
{
/**
*利用各种算法对实现了comparable接口的数组进行升序排列
*/
public void sort(comparable[] obj);
}
sort类:
package utils.sort;
/**
*排序类,通过此类的sort()可以对实现了comparable接口的数组进行升序排序
*/
public class sort
{
private sortstrategy strategy;
/**
*构造方法,由type决定由什么算法进行排序,排序方法的单词守字母要大字,如对于快速排序应该是
uicksort
*@param type 排序算法的类型
*/
public sort(string type)
{ try
{ type = "utils.sort." + type.trim();
class c = class.forname(type);
strategy = (sortstrategy)c.newinstance();
}
catch (exception e)
{ e.printstacktrace();
}
}
/**
*排序方法,要求待排序的数组必须实现comparable接口
*/
public void sort(comparable[] obj)
{
strategy.sort(obj);
}}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器