排序算法 - 方法

Pho*_*rce 4 c++ sorting algorithm design-patterns

我必须使用面向对象的方法实现三种不同的排序算法,我一直在考虑解决这个问题的最佳方法.

基本上,我认为它应该是这样的:

- >排序(类,接口,多态)

继承:

- >冒泡排序

- >插入排序

- > QuickSort

如果每种类型具有相同的接口,那么访问不同的排序方法将更容易,因此,当我来添加其他排序算法时,我可以轻松地将它们实现到当前的设计和类结构中.

我的问题是:

  • 这是一个很好的使用方法吗?

  • 我可以使用模板吗?即如果我想使用Bubble,它会调用冒泡排序,如果我想使用Insertion它会调用Insertion吗?

sam*_*hen 5

Sort 应该是一个接口或一个抽象类,而bubble/insertion/quick-sort应该是实现/具体类.

还值得了解以下内容:

策略模式:

战略模式图 http://en.wikipedia.org/wiki/Strategy_pattern

状态模式:

状态模式图

http://en.wikipedia.org/wiki/State_pattern

至于模板,我认为在你的情况下它是值得的.