注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一路

To find the final symmetry & beauty

 
 
 

日志

 
 
 
 

Generate standard Gray-Code[origin]  

2010-12-29 10:16:06|  分类: 计算之美 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

This blog is just for practice puspose. Code here is not really efficient.

//written by saturnman

//for practice purpose

//code for generating gray code

#include<iostream>

#include<list>

#include<deque>

#include<iterator>

#include<algorithm>

using namespace std;

void generate_gray_code()

{

    list<deque<char> >* init_set = new list<deque<char> >;

    init_set->push_back({'|'});

    init_set->push_back({'-'});

    for(char i=0;i<5;++i)

    {

        list<deque<char> >::iterator itor;

        list<deque<char> >* tmp_set = new list<deque<char> >;

        for(itor = init_set->begin();itor!=init_set->end();++itor)

        {

            deque<char> element = *itor;

            element.push_front('|');

            tmp_set->push_back(element);

        }

        list<deque<char> >::reverse_iterator ritor;

        for(ritor = init_set->rbegin();ritor!=init_set->rend();++ritor)

        {

            deque<char> element = *ritor;

            element.push_front('-');

            tmp_set->push_back(element);

        }

        delete init_set;

        init_set = tmp_set;

    }

    list<deque<char> >::iterator itor;

    for(itor = init_set->begin();itor!=init_set->end();++itor)

    {

        copy(itor->begin(),itor->end(),ostream_iterator<char>(cout," "));

        cout<<endl;

    }

}

int main()

{

    generate_gray_code();

    return 0;

}

 

Result:

| | | | | |

| | | | | -

| | | | - -

| | | | - |

| | | - - |

| | | - - -

| | | - | -

| | | - | |

| | - - | |

| | - - | -

| | - - - -

| | - - - |

| | - | - |

| | - | - -

| | - | | -

| | - | | |

| - - | | |

| - - | | -

| - - | - -

| - - | - |

| - - - - |

| - - - - -

| - - - | -

| - - - | |

| - | - | |

| - | - | -

| - | - - -

| - | - - |

| - | | - |

| - | | - -

| - | | | -

| - | | | |

- - | | | |

- - | | | -

- - | | - -

- - | | - |

- - | - - |

- - | - - -

- - | - | -

- - | - | |

- - - - | |

- - - - | -

- - - - - -

- - - - - |

- - - | - |

- - - | - -

- - - | | -

- - - | | |

- | - | | |

- | - | | -

- | - | - -

- | - | - |

- | - - - |

- | - - - -

- | - - | -

- | - - | |

- | | - | |

- | | - | -

- | | - - -

- | | - - |

- | | | - |

- | | | - -

- | | | | -

- | | | | |

  评论这张
 
阅读(615)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017