使用操作符对字符串进行字典比较

C++: Lexicographic comparing strings using operators

本文关键字:字典 比较 字符串 操作符      更新时间:2023-10-16

根据我的理解,如果我使用小于(<)等操作符比较两个字符串c++将按字典顺序比较它们。我想利用这种搜索数组的方法,并返回最小的字典值。我用一个临时值来求最小的string smallest

如你所见,我给它赋值z。哪个字母/符号的字典值最高?c++中是否有已经定义的静态变量可以赋值给它?这样做的标准是什么?

string VectorPQueue::extractMin() {
    string smallest = "z";
    int *count = new int;
    if (elems.size() != 0) {
        for (int i = 0; i < elems.size(); i++)
        {
            if ((elems.get(i)) < smallest) {
                smallest = elems.get(i);
                *count = i;
            }
        }
    } else {
        ErrorException("ERROR: pqueue is empty.");
        return "";
    }
    elems.remove(*count);
    printElements();
    return smallest;
}

您可能希望使用std::min_element算法,该算法将使用普通的小于操作符来检索到范围内最小元素的迭代器。这完全消除了您自己编写这个函数的需要。

希望这对你有帮助!

smallest设置为第一个字符串,然后从第二个字符串开始搜索