如何修改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;
}
}
}
}
答案 0 :(得分:1)
据我了解你的问题,你需要概括“&gt;”字符串 - 你显然可以使用一些库函数(对于STL字符串,>
已定义),但如果它是一个作业,你可能需要编写自己的。如果我们仅限于ASCII,则非常简单,而ASCII字母代码按字母顺序排列((int)'A'<(int)'B')
要比较字符串,你应该从两个字符串的第一个字母开始,如果它们不相等则返回它们的比较结果,如果它们是相同的,则继续下一个字符串。
答案 1 :(得分:0)
创建一个接受字符串数组的函子,并根据需要处理比较(如果是STL)。
答案 2 :(得分:0)
&lt;和&gt;运算符已经能够按字母顺序处理字符串比较。只是重载函数,在参数中有一个字符串array []而不是int array []。一个问题是这些运算符区分大小写,因此在进行检查之前,您需要将字符串中的所有字符转换为大写或小写。