c++ 格雷碼的生成

#include<iostream>
#include<string>
#include<vector>
#include<stdlib.h>
#include<stdio.h>
using namespace std;

vector<string> a;

vector<string> gc(int m,int N)
{
    if(m==N)
        return a;
    else
    {
        int i=0;
        int l=a.size()-1;
        int j=a.size();
        for(l,j;l>=0;--l,++j)
        {
            a.push_back(a[l]);
            a[l]="0"+a[l];
            a[j]="1"+a[j];
        }
        gc(m+1,N);
    }
    return a;
}

int main()
{
    a.push_back("0");
    a.push_back("1");
    gc(1,8);
    cout<<a.size()<<endl;
    for(int i=0;i<a.size();++i)
        cout<<a[i]<<endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章