q[j]=Temp;
for (int m=j+1; m<nSize+1; m++)
{
q[m]=p[m-1];
}
q[nSize+1]='\0';
g_vecA.push_back(q);
}
}
for (itor = g_vecB.end()-1; itor>=g_vecB.begin(); itor--)
{
char* p = *itor;
g_vecB.erase(itor);
}
g_vecB.clear();
}
else
{
//遍历A中的元素
for(itor=g_vecA.begin();itor!=g_vecA.end();itor++)
{
char* p = *itor;
int nSize = strlen(p);
//从0到nSize位置放Temp
for (int j=0; j<nSize+1; j++)
{
char* q = new char[nSize+2];
for (int k=0; k<j; k++)
{
q[k]=p[k];
}
q[j]=Temp;
for (int m=j+1; m<nSize+1; m++)
{
q[m]=p[m-1];
}
q[nSize+1]='\0';
g_vecB.push_back(q);
}
}
for (itor = g_vecA.end()-1; itor>=g_vecA.begin(); itor--)
{
char* p = *itor;
g_vecA.erase(itor);
}
g_vecA.clear();
}
}
int nCount = 0;
//打印所有组合
if (g_vecA.size()==0)
{
for(itor=g_vecB.begin();itor!=g_vecB.end();itor++)
{
nCount ++;
char* p = *itor;
cout 《 p 《 ", ";
if (nCount%10 == 0)
{
cout 《 endl;
}
delete p;
p=NULL;
}
}
else
{
for(itor=g_vecA.begin();itor!=g_vecA.end();itor++)
{