常用的排序函數如下
對於一個有着兩層嵌套Qmap的來進行三個維度的排序
QMap<QString, QMap<QString, QVector<COrder>>> &mapOrder;
最開始使用了sort進行Qvector的排序,發現對於同一個vector裏面的子序列有時候回穿插在一起。
後面使用stable_sort進行排序,問題得到解決。
補充:
實際問題如下:
我們需要對一個訂單列表中的數據進行 “品系”,“性別” 和 “規格”三個維度進行排序,並且同一個訂單可能被分成不同的子訂單,子訂單中的貨物又可能分別莊道不同的箱子中。
最終需求是,按照第一維度“品系”, 第二維度“性別”, 第三維度“規格”,然後同一個子訂單下面的箱子數又不能拆分開的原則進行排序。