格雷玛

来源:互联网 发布:淘宝如何增加访客量 编辑:程序博客网 时间:2024/05/23 23:23

格雷码:给定一个二进制的位数n,求出一个0到2^n-1的排列,使得相邻两项排列(包括头尾相邻)的二进制表达中只有恰好一位不同。

比如:

数字  二进制

0       0000

1       0001

2       0011

3       0010

4       0110

5       0111

6       0101

等等……

由上面比较上下两个二进制可发现相邻两项排列只有恰好只有一位不同,这就是格雷码。

其C++程序为:

vector<int>Gray_Create(int n){    vector<int>res;    for(int i=0;i<(1<<n);i++)        res.push_back(i^(i>>1));    return res;}


0 0
原创粉丝点击