据我了解,如果我使用运算符比较两个字符串,比如小于(<)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;
}
答案 0 :(得分:9)
您可能希望使用std::min_element
算法,该算法将使用普通的小于运算符来检索范围中最小元素的迭代器。这完全消除了您自己编写此功能的需要。
希望这有帮助!
答案 1 :(得分:4)
只需将smallest
设置为第一个字符串,然后从第二个字符串开始搜索。