大量のピクセルのコレクションを並べ替えたい。
typedef char HexGetal;
typedef unsigned int NatuurlijkGetal;
struct Pixel{
HexGetal Blue;
HexGetal Green;
HexGetal Red;
};
struct Palet{
Pixel Kleur;
NatuurlijkGetal Aantal;
};
vector <Palet> MyContainer;
NatuurlijkGetal Seeds[10]={1, 25, 55, 7, 3, 149, 6, 7, 1, 55};
Palet LoopPalet;
LoopPalet.Kleur.Blue = 0;
LoopPalet.Kleur.Green = 0;
LoopPalet.Kleur.Red = 0;
for(NatuurlijkGetal Looper = 0; Looper < 10;Looper++)
{
LoopPalet.Aantal = Seeds[Looper];
MyContainer.push_back(LoopPalet);
}
タイプ「Palet」の作成後、「MyContainer」という名前のパレットのベクトルを作成し、初期化します。
ここで、フィールド「Aantal」に基づいて並べ替えたいと思います。それ、どうやったら出来るの?私はおそらく2つの異なる方法を探しています。
パート 1: ベクトルが小さい場合にこれを行う一般的な方法を学びたい。ベクトルをソートしたことはありません。それについて多くのことを読み、ビデオを見ましたが、私はそれを理解していません.
パート 2: このベクトルは、後で使用すると 100 万を超える要素を持つことになります。そのため、コピー操作の量を制限するために、よりスマートなアプローチが必要になる場合があります。
事前にthx。