题目是:要求重新排列一个由字符R,W,B(R代表红色,W代表白色,B代表蓝色,这都是荷兰国旗的颜色)构成的数组,使得所有的R都排在最前面,W排在其次,B排在最后。为荷兰国旗问题设计一个算法,其时间复杂度为O(n) 这道题想了相当久。要求时间复杂度是O(n),肯定只能用简单排序,然后在思想上加以改进。既然只有三种值,那么很容易就能遇到最大和最小值,这种情况下考虑使用头尾双向标记的交换排序。