کپی کردن یک vector در vector دیگر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

کپی کردن یک vector در vector دیگر

+2 امتیاز

سلام. چطور باید یک vector را در vector دیگه کپی کرد.vector مورد نظر به صورت زیر است.

vector<pair<int,float>> items;

 

سوال شده بهمن 16, 1392  بوسیله ی shab (امتیاز 194)   8 22 30
دوباره تگ گذاری شد فروردین 20, 1393 بوسیله ی BlueBlade

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

می تونی از std::copy هم استفاده کنی که دستت رو بازتر میزاره مثلا کد زیر خونه 2و3  از وکتو اول رو توی خونه3 و4   یک وکتور دیگه کپی می کنه

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
    vector<pair<int,float>> items;
    items.push_back({1,2.2});
    items.push_back({2,1.2});
    items.push_back({3,7.223});
    items.push_back({4,3.222});
    items.push_back({5,2.11});

    vector<pair<int,float>> copies(items.size());

    std::copy(items.begin()+2,items.end()-1,copies.begin()+3);

    for(int i=0;i<copies.size();i++)
    {
        cout<<copies[i].first<<"  "<<copies[i].second<<'\n';
    }
}

 

پاسخ داده شده بهمن 16, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد مرداد 7, 1393 بوسیله ی shab
+1 امتیاز

من دو راه یاد دارم ، یکی ساختن یک وکتور دیگه و مساوی قرار دادنشون هر جایی که نیازه هست.

    vector< pair<int,float> > items ;
    vector< pair<int,float> > items2 ;

    items2 = items ;

و یا

    vector< pair<int,float> > items ;
    vector< pair<int,float> > items2  = items ;

http://www.cplusplus.com/reference/vector/vector/operator=/

پاسخ داده شده بهمن 16, 1392 بوسیله ی Elyas74 (امتیاز 1,144)   6 14 27
ویرایش شده بهمن 16, 1392 بوسیله ی Elyas74
...