Bu iki mass
ve velocity
her ikisi de aynı boyutta N
var. N parçacıkların kütlesi ve hızı hakkında bilgi içerirler. mass[i]
ve velocity[i]
, bu nedenle, i ++ parçacıkİki vektörü kilitleme ve bunları sıralama
'un özellikleridir. Bu iki vektörü birlikte "kilitlemek" için C++ 'da kullanılabilir mi? Böylelikle, sıralama sonrası mass
vektörü artan sırada olmalıdır ve hız vektörü, sıralanmış kütlelerin
ilgili hızlarını içermelidir. Kütle = (4,2,1,3) ve hız = (13, 14, 15, 16) sınıflandırılmadan önce Kütle = (1,2,3,4) ve hız = (15, 14, 16, 13) ayrıldıktan sonra)
Bunun için bilmek on (etkin olmayan) bir şekilde<
aşırı ile
std::sort
kullanarak bu vektör yapı en
struct particle
{
double mass;
double velocity;
bool operator < (const particle& str) const
{
return (mass < str.mass);
}
};
bir vektör içerisine veri aktarımı ve vector<particle> particlelist(N)
oluşturmak ve sonra sıralamak
olan Yukarıdaki tanımda yaptığım gibi operatör.
Verileri Diziler Yapısı yaklaşımına (en azından CUDA'ya) kıyasla verimsiz olduğunu duyduğumdan, verilerimi Yapılar Dizisi modasına koymak istemiyorum.
yol açabilecek çünkü daha iyi biri, tesisi başka değişiklikler i aynı şekilde değiştirirse gibi demek "kilit"? –
Soruyu düzenledim ve açıklığa kavuşturdum. – smilingbuddha
İlgili: http://stackoverflow.com/questions/3398819/sort-by-proxy-or-sort-one-container-by-the-contents-of-another-in-c –