C ++比较两个char数组并返回-1,0,1

时间:2017-02-17 00:48:21

标签: c++

这是提示 -

searchForAccount() - 此方法应该使用一个参数:一个字符数组,其中包含要搜索的CreditAccount的帐号代码(searchNumber)。该方法应返回一个整数。

此方法的逻辑是排序列表策略的二进制搜索的变体。

像往常一样,您需要使用strcmp()来执行帐号的比较。

我不确定我要求做的是说实话。我来自Java,教师将其描述为thisString.Compareto(anotherString),返回-1,0,1。

这是我的尝试

int AccountDB::searchForAccount(char searchNum[])
{
    int low = 0;
    int high = numAccounts - 1;
    int mid;
    while (low <= high)
    {
        mid = (low + high) / 2;
        if(strcmp(searchNum, accSet[mid].getAccountNumber()) == 0)
        return mid;
    }
        if(strcmp(searchNum, accSet[mid].getAccountNumber()) > 0)
            high = mid - 1;
    else
            low = mid + 1;
return -1;
}

这看起来是否正确?

0 个答案:

没有答案