求字符串的逆序数

__int64 ConOrdinal(char *Str, int iSize)

{

    int iTable[128]={0};

    char iMax=0;

    __int64 i64Result=0;

 

    for (int i=0; i<iSize; i++)

    {

       iTable[Str[i]]++;

       if (Str[i]>iMax) iMax=Str[i];

       for (int j=Str[i]+1; j<=iMax; j++) i64Result=i64Result+iTable[j];

    }

    return i64Result;

}

你可能感兴趣的:(求字符串的逆序数)