一、前言
《编程珠玑》第二章有一个变位词程序的实现问题,所谓变位词就是把某个单词中字母位置顺序加以改变形成的新词。文中提到的变位词程序设计思想是按三阶段的”管道“组织,第一阶段标志单词,第二阶段排序标志后的文件,第三阶段分类输出。如图:
这中管道组织程序的形式的另一个好处是使得程序调理清晰。
二、程序实现
我这里用C++实现,程序中用到了容器和泛型算法的内容,思路和图中的流程一样,先是读入字符串,将每个字符串排序处理形成pair后压入vector中,之后我们对vector中的pair元素进行排序,这里用到泛型算法,对容器重排序,然后按要求输出元素。