最初の N バイトにはすべてタイプ A のオブジェクトが含まれ、残りのバイトにはタイプ B の要素が含まれる連続したメモリ ブロックがあります。たとえば、タイプ A のオブジェクトが 120 個あり、その後にタイプ B のオブジェクトが 40 個あるとします。
タイプ A とタイプ B はどちらもサイズの異なる構造体ですが、どちらもソートしたい整数メンバー「インデックス」を持っています。基本的に、インデックスでソートされた配列になりたいのですが、現在、データ型でソートされている配列があります。理想的には、インデックスでソートしてからタイプでソートしたいので、次のようになります
Index==1 elements | Index==2 elements | ... | Index==L elements
Type A | Type B | Type A | Type B | ... | Type A| Type B
これまでに思いついた唯一のことは、タイプ A とタイプ B のブロックをインデックスで別々に並べ替えてから、memcopy を使用して物事をシャッフルし、上記のようにすることです。より良い解決策はありますか?