C++如何检查数组中的所有值是否不同?

Pol*_*llo 2 c++ loops nested-loops

您好我正在尝试检查在任何大小的数组中输入的任何值是否不同.我试图为此代码使用嵌套循环,但无法获得正确的if语句来检查数组中的每个值是否不同.我很感激任何帮助!

for (unsigned i = 0; i < size; i++)
    for (unsigned k = i + 1; k < size; k++)
        if (arr[i] == arr[k]){
            return false;
        }
return true;
Run Code Online (Sandbox Code Playgroud)

好的,谢谢你们帮助你的建议!

Bo *_*son 6

你可以arr先排序吗?

std::sort(std::begin(arr), std::end(arr));
auto pos = std::adjacent_find(std::begin(arr), std::end(arr));
if (pos != std::end(arr))
    // we have a duplicate
Run Code Online (Sandbox Code Playgroud)