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. 如何在Qt中對QList <QVariant>進行排序?
- 2. 使用qsort對數組進行排序
- 3. 如何對QDateTime *的QList進行排序?
- 4. 如何使用qsort()對結構數組進行排序?
- 5. 如何使用qsort對CTypedPtrList進行排序?
- 6. Qt C++如何使用QList < > :: const_iterator?
- 7. 使用qsort對結構數組進行排序
- 8. 使用qsort對無符號整數進行排序
- 9. 使用qsort和結構對列表進行排序
- 10. 無法使用qsort在C中對dirent進行排序
- 11. C++使用qsort對類數組進行排序
- 12. 使用stdlib的qsort()對字符串數組進行排序
- 13. 是否有可能使用jQuery對GridView行進行排序?
- 14. 使用Qt/C++排序算法 - 排序結構的QList結構
- 15. 如何使用qsort在C++中對字符串數組進行排序?
- 16. 如何在C編程中使用qsort對結構進行排序
- 17. 如何使用Qt.UserRole對Qt QListview中的項目進行排序
- 18. 如何使用PHP對<table>數據進行排序
- 19. 使用dust.js對功能進行排序
- 20. 可以使用NSSortComparator對NSMutableOrderedSet <NSString*>進行排序嗎?
- 21. QT如何使用QTableView中到的QList
- 22. 如何使用<sys/queue.h>功能對列表進行排序?
- 23. 如何使用不帶庫的Javascript對錶格進行排序?
- 24. 需要幫助使用qsort對C中的結構數組進行排序
- 25. 使用qsort按不同變量對結構指針進行排序
- 26. 如何使用.stream()對java8中的<Map <String,Object >>進行排序?
- 27. 可能使用current_user對搜索結果進行排序
- 28. 是否可以使用同位素進行列排序? (jQuery庫)
- 29. 如何使用穩定排序對DataGrid進行排序?
- 30. 如何使用Bubble排序對我的JTable進行排序?
快速排序是過時按照該文檔,所以應該使用std :: sort。 – DBedrenko 2017-09-06 07:11:13