class MyClass {
public:
int a;
bool operator<(const MyClass other) const {
return a<other.a;
}
....
};
....
QList<MyClass*> list;
11
A
回答
9
使自己的比較,將與指針工作,然後用快速排序:http://qt-project.org/doc/qt-5.1/qtcore/qtalgorithms.html#qSort-3
12
到問題的一般解決辦法是讓通用低於函數對象,簡單地轉發到指向的類型的小於操作符。喜歡的東西:
template <typename T>
struct PtrLess // public std::binary_function<bool, const T*, const T*>
{
bool operator()(const T* a, const T* b) const
{
// may want to check that the pointers aren't zero...
return *a < *b;
}
};
你可以再做:
qSort(list.begin(), list.end(), PtrLess<MyClass>());
6
在C++ 11你也可以使用這樣的拉姆達:
QList<const Item*> l;
qSort(l.begin(), l.end(),
[](const Item* a, const Item* b) -> bool { return a->Name() < b->Name(); });
相關問題
- 1. 使用qsort對數組進行排序
- 2. 如何對QDateTime *的QList進行排序?
- 3. 如何使用qsort()對結構數組進行排序?
- 4. 如何使用qsort對CTypedPtrList進行排序?
- 5. 使用qsort和結構對列表進行排序
- 6. 無法使用qsort在C中對dirent進行排序
- 7. C++使用qsort對類數組進行排序
- 8. 使用qsort對無符號整數進行排序
- 9. 使用stdlib的qsort()對字符串數組進行排序
- 10. 是否有可能使用jQuery對GridView行進行排序?
- 11. 使用Qt/C++排序算法 - 排序結構的QList結構
- 12. 如何使用qsort在C++中對字符串數組進行排序?
- 13. 如何在C編程中使用qsort對結構進行排序
- 14. 使用dust.js對功能進行排序
- 15. 如何使用<sys/queue.h>功能對列表進行排序?
- 16. 使用qsort按不同變量對結構指針進行排序
- 17. 需要幫助使用qsort對C中的結構數組進行排序
- 18. 如何使用.stream()對java8中的<Map <String,Object >>進行排序?
- 19. 可能使用current_user對搜索結果進行排序
- 20. 是否可以使用同位素進行列排序? (jQuery庫)
- 21. 如何使用Bubble排序對我的JTable進行排序?
- 22. 如何使用穩定排序對DataGrid進行排序?
- 23. 如何使用數字排序對varchar列進行排序
- 24. 如何使用多個排序條件對ArrayList進行排序?
- 25. 如何使用不同的排序功能對NSArray進行排序
- 26. 是否可以使用write.csv()函數對特定列進行排序/排序?
- 27. Qt/C++ - 跟蹤所有QList <QProcess>
- 28. 使用qsort排序字符串
- 29. 使用ArrayAdapter對ListView進行排序<String>
- 30. c#使用元組對一個List <>進行排序?
快速排序是過時按照該文檔,所以應該使用std :: sort。 – DBedrenko 2017-09-06 07:11:13