我必须使用面向对象的方法实现三种不同的排序算法,并且我一直在思考解决这个问题的最佳方法。
基本上,我认为它应该是这样的:
->排序(类、接口(interface)、多态)
继承:
->冒泡排序
->插入排序
->快速排序
如果每个排序都有相同的接口(interface),那么访问不同的排序方法会更容易,因此,这意味着当我要添加其他排序算法时,我可以轻松地将它们实现到当前的设计和类结构中.
我的问题是:
这种方法好用吗?
我可以使用模板吗? IE。如果我想使用冒泡,它会调用冒泡排序,如果我想使用插入,它会调用插入?
最佳答案
Sort
应该是接口(interface)或抽象类,而冒泡/插入/快速排序应该是实现/具体类。
以下内容也值得学习:
策略模式:
http://en.wikipedia.org/wiki/Strategy_pattern
和
状态模式:
http://en.wikipedia.org/wiki/State_pattern
至于模板,我认为您的情况不值得。
关于c++ - 排序算法 - 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141106/