예제 #1
0
//创建循环群 I(rank)
void QCyclicGroup::createCyclic(const GList e)
{
    assert(e.size() > 0);

    this->m_list = e;
    GMatrix matrix;

    for(gint i = 0; i < e.size(); ++i)
    {
        GList s;

        if(i == 0)
        {
            for(gint j = 0; j < e.size(); ++j)
            {
                s.append(j);
            }
        }
        else
        {
            for(gint j = 0; j < e.size(); ++j)
            {
                if(j == 0)
                {
                    s.append(i);
                }
                else
                {
//怎么办,但是没有规则
                }
            }
        }

        for(gint j = 0; j < rank; j++)
        {
            t.append( (i+j)%rank );
        }

        matrix.append(t);
    }

    QPermuteGroup::createPermute(matrix);
}