字符串选择排序C ++

时间:2010-07-15 20:42:39

标签: c++ string search sorting

如何修改selectionSort函数以搜索字符串数组?

void selectionSort (int array[], int size)
{
    int startScan, min Index, minValue;
    for (startScan = 0; startScan<(size-1); startScan++)
    {
        minIndex=startScan;
        minValue=array[startScan];
        for(int index = startScan + 1;index<size;index++)
        {
            if (array[index] < minValue)
            {
                minValue=array[index];
                minIndex=index;
            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

据我了解你的问题,你需要概括“&gt;”字符串 - 你显然可以使用一些库函数(对于STL字符串,>已定义),但如果它是一个作业,你可能需要编写自己的。如果我们仅限于ASCII,则非常简单,而ASCII字母代码按字母顺序排列((int)'A'<(int)'B')  要比较字符串,你应该从两个字符串的第一个字母开始,如果它们不相等则返回它们的比较结果,如果它们是相同的,则继续下一个字符串。

答案 1 :(得分:0)

创建一个接受字符串数组的函子,并根据需要处理比较(如果是STL)。

答案 2 :(得分:0)

&lt;和&gt;运算符已经能够按字母顺序处理字符串比较。只是重载函数,在参数中有一个字符串array []而不是int array []。一个问题是这些运算符区分大小写,因此在进行检查之前,您需要将字符串中的所有字符转换为大写或小写。