成语大全网 - 经典成语 - 词典序偏好可传递

词典序偏好可传递

#include?<iostream>

#include?<cstring>

using?namespace?std;

const?int?MAXLEN?=?100;

int?main()?{

char?s[MAXLEN][MAXLEN],t[MAXLEN];

int?i,j,k,len;

cout?<<?"输入串:";

cin.getline(s[0],MAXLEN);

len?=?strlen(s[0]);

for(i?=?1;?i?<?len;?++i)?{?//?生成其他各个串

for(j?=?0;?j?<?len?-?1;?++j)

s[i][j]?=?s[i?-?1][j?+?1];

s[i][len?-?1]?=?s[i?-?1][0];

s[i][len]?=?'\0';

}

for(i?=?0;?i?<?len?-?1;?++i)?{?//?选择排序

k?=?i;

for(j?=?i?+?1;?j?<?len;?++j)?{

if(strcmp(s[j],s[k])?<?0)

k?=?j;

}

if(k?!=?i)?{

strcpy(t,s[i]);

strcpy(s[i],s[k]);

strcpy(s[k],t);

}

}

for(i?=?0;?i?<?len;?++i)//?输出结果

cout?<<?s[i]?<<?endl;

return?0;

}