利用后缀数组对字符串进行排序,排序有问题。
int myfunction(int i,int j)
{
return (((string)&strgiven[IndexArray[i]])<((string)&strgiven[IndexArray[j]]));
}
//strgiven:给定的字符串 比如strgiven="张曹白阿生先不道爱";
//IndexArray:vector <int> IndexArray,用途是 索引
void enOrder_OfIndexArray()
{
sort(IndexArray.begin(),IndexArray.end(),myfunction);
return;
}
这个是排序的算法。
输出结果有问题:
爱
道爱
不道爱
先不道爱
生先不道爱
阿生先不道爱
白阿生先不道爱
曹白阿生先不道爱
张曹白阿生先不道爱