c++ - 对无序集进行Qsort或Sort

原文 标签 c++ sorting qsort unordered-set

我有一个unordered_set方程。我不是要进行排序还是qsort,这是我正在运行的代码行:

qsort(&equations, equations.size(), sizeof(string), strcmp);


我得到的错误是:

error: cannot convert 'std::unordered_set<std::basic_string<char> >' to 'void*' 
       for argument '1' to 'void qsort(void*, size_t, size_t, __compar_fn_t)'                   
qsort(equations, equations.size(), sizeof(string), strcmp); 

最佳答案

您需要将unordered_set复制到vector并进行排序。

还可以使用stl算法进行排序:

std::sort(v.begin(), v.end());
std::sort(v.begin(), v.end(), std::greater<int>());

关于c++ - 对无序集进行Qsort或Sort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360124/

相关文章:

c++ - 使用指针 vector 循环其他 vector

java - Java 8对象排序列表

iphone - 如何使用比较 :options 对 NSArray 进行排序

jQuery DataTables 显示所有记录作为一个选项

c++ - STL设置自定义排序

c++ - std 容器的 type_traits?

c++ - 指向第一个和最后一个成员的指针 : List Initialization

c++ - qsort类对象列表

c - 带键值对的qsort

c - qsort不排序和奇怪的输出