私は構造体の構造体とベクトルを持っている:構造体のベクタ(copy_nとマージソート)
struct S
{
int Efficiency;
int Number;
};
std::vector<S> Empl;
私はcopy_nを使用してEmpl.Efficiency入力してみてください:
std::copy_n(std::istream_iterator<int>(std::cin), NumberOfEmpl, std::back_inserter(Empl.Efficiency));
しかし、常にエラーが表示されます。ベクターには効率が含まれていません。 Empl.Efficiencyをどのように入力できますか?
また、私はマージソートを使用している場合、効率とセーブの効率を並べ替える方法も&ですか?
void merge_sort(BidirIt first, BidirIt last, Compare cmp = Compare{})
{
const auto n = std::distance(first, last);
if (n > 1) {
const auto middle = std::next(first, n/2);
merge_sort(first, middle, cmp);
merge_sort(middle, last, cmp);
std::inplace_merge(first, middle, last, cmp);
}
}
...
merge_sort(std::begin(Empl.Efficiency), std::end(Epml.Efficiency));
これは意味をなさない。 'Efficiency'は整数であり、ベクトルではありません。 –