三色旗
来源:互联网 发布:网络大电影备案流程 编辑:程序博客网 时间:2024/04/26 07:37
- #include <iostream>
- #include <algorithm>
- using namespace std;
- const char BLUE = 'b';
- const char WHITE = 'w';
- const char RED = 'r';
- template <typename Type>
- struct Print
- {
- void operator ()(Type& item)
- {
- cout << item << '/t';
- }
- };
- //三色旗按蓝白红排列
- int main(int argc, char *argv[])
- {
- char color[] = {'w','r','b','w', 'b', 'b','w','w','r'};
- int bflag = 0;
- int wflag = 0;
- int rflag = strlen(color) - 1;
- for_each(color, color + sizeof(color), Print<char>());
- cout << endl;
- while (wflag <= rflag)
- {
- if (BLUE == color[wflag])
- {
- swap(color[bflag], color[wflag]);
- ++bflag;
- }
- else if (RED == color[wflag])
- {
- while ((wflag < rflag) && (RED == color[rflag]) )
- {
- --rflag;
- }
- swap(color[wflag], color[rflag]);
- --rflag;
- --wflag;
- }
- ++wflag;
- }
- for_each(color, color + sizeof(color), Print<char>());
- cout << endl;
- return 0;
- }
- /*
- w r b w b b w w r
- b b b w w w w r r
- */
- 三色旗
- 三色旗
- 三色旗
- 三色旗
- 三色旗
- 三色旗
- 三色旗问题
- 三色旗问题
- 趣味算法-三色旗
- 三色旗问题
- 三色旗排序问题
- 三色旗排序问题
- 三色旗问题
- 三色旗算法
- 三色旗算法实现
- 三色旗问题
- 三色旗问题
- 三色旗问题
- GetClientRect和GetWindowRect封装
- ssh学习中遇到的小问题
- C++ 虚函数表解析
- 从网上找到的VC++6.0的快捷键
- .NET 4.0中使用内存映射文件实现进程通讯
- 三色旗
- OpenFile函数使用说明
- 排列组合生成
- 【转】101条伟大的计算机编程语言
- 关联容器
- 玩转黑莓8900,不信你不会。超级实用
- Android_1
- 《白话C++》第3章 感受(一) 3.3 Hello world 交互版
- Eclipse快捷键大全(转载)