C++ 打印无序集合的元素

C++ 打印无序集合的元素,c++,c++11,C++,C++11,因此,我正在编写一个小代码来删除字符串中的重复字符。我用map,vector做过,但想用无序的_集 #include <iostream> #include <unordered_set> #include <string.h> using namespace std; int main() { char* str = "abbcdeffg"; std::unordered_set<char> ump; for(int

因此,我正在编写一个小代码来删除字符串中的重复字符。我用map,vector做过,但想用无序的_集

#include <iostream>
#include <unordered_set>
#include <string.h>

using namespace std;

int main() {
    char* str = "abbcdeffg";
    std::unordered_set<char> ump;

    for(int i = 0; i < strlen(str) ; i++)
    {
        ump.insert(str[i]);
    }

    for (auto it = ump.begin(); it != ump.end(); ++it)
    {
        cout << *it;
    }
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
char*str=“abbcdeff”;
std::无序设置的ump;
对于(int i=0;i不能你不能。

无序集没有任何固有的顺序

这就是为什么它被称为无序集


vector
(或者更好的是,一个
deque
)是这里合适的输出容器,但是您可以使用一个额外的、临时的
set
,在迭代时跟踪重复项。

您不能。

无序集没有任何固有的顺序

这就是为什么它被称为无序集


vector
(或者更好的是,一个
deque
)是这里合适的输出容器,但是您可以使用一个额外的、临时的
set
,在迭代时跟踪重复项。

这是因为它是“无序的”,所以您可能需要拉取
strlen()
跳出循环。停止从字符串文本初始化
char*
。这已经多年不允许了。打开警告!!!!!!!因为它是“无序的”,所以您可能希望拉取该
strlen()
退出循环。停止从字符串文本初始化
char*
。这已经多年不允许了。打开您的警告!!!!!!!!