我需要用元组
对矢量进行排序[ (a_ 11 ,...,a_ 1n ), ......, (a_ m1 ,...,a_ mn ) ]
基于属性列表及其比较运算符<或者>。 例如:首先按a_ 2 排序>运算符和a_ 57 与<操作
问题:我正在寻找一种有效执行此操作的数据结构,假设排序的发生频率远远高于向量的更新。
我目前的想法是通过添加类似于每个属性的链接列表的指针来存储每个属性的排序顺序:
例如,这个向量:
Paint myPaint = new Paint();
int sc = canvas.saveLayer(mBlackRect.left, mBlackRect.top,
mBlackRect.right, mBlackRect.bottom, myPaint,
Canvas.ALL_SAVE_FLAG);
myPaint.setColor(0xC0000000);
canvas.drawRect(mBlackRect, myPaint);
myPaint.setColor(Color.TRANSPARENT);
myPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
canvas.drawRect(mTransparentRect, myPaint);
myPaint.setXfermode(null);
canvas.restoreToCount(sc);
将获得数据结构
0: (1, 7, 4)
1: (2, 5, 6)
2: (3, 4, 5)
编辑:
答案 0 :(得分:1)
我会使用boost :: MultiIndex。 - drescherjm