C++ 排序问题
请教大家一个C++ 按序排序的问题:
现在有一个字符串数组 data[] = {bb, aa, ee, dd, cc....}
默认情况下, 可以按照字母顺序输出, 即 {aa, bb, cc, dd, ee}
现在要求外部可以随机指定一个部分输出顺序, 指定部分按输出顺序输出数组, 没有指定部分依然按照字母顺序输出。
比如对于这个数组, {bb, aa, ee, dd, cc....} 默认情况下输出 {aa, bb, cc, dd, ee}。
1. 假如 指定 输出顺序为{aa, ee, cc}, 则输出结果为 {aa bb ee dd cc}
2. 假如 指定 输出顺序为{cc, aa}, 则输出结果为{cc bb aa dd ee}
3. 假如 指定 输出顺序为{dd aa bb}, 则输出结果为{dd aa cc bb ee}
请问大家有比较高效的算法不?