#vector #insert
🔵 وکتور(vector)
🔹تابع Insert(قسمت اول)
متد insert میتونه یه یا چند عنصر را داخل یک جای مختلف از وکتور اضافه بکند, مثلا میتواند 5 تا عنصر جدید بعد از دهمین عنصر داخل وکتور اضافه کند, تازه میتوانیم یک بازه ی جدید به یک جای خاص از وکتورمان اضافه کنیم و یک مقدار پیشفرض داخلشون کپی کنیم.
توجه کنید که ما با اضافه کردن یک یا چند داده هیچ فضایی را برای آنها دوباره از سیستم نمیگریم، چون قبلا یک بازه ای از حافظه رو برای وکتور از سیستم گرفتیم (برای اطلاعات بیشتر رجوع شود به capacity). فقط در صورتی دوباره فضا میگریم که ظرفیت موجود برای وکتور (capacity) کم باشد و داده ها داخلش جا نگیرند.
🔹مفهوم Single element:
با این اورلود میتونیم فقط یه عنصر جدید به موقعیت position وکتور اضافه کنیم
🔹مفهوم Fill:
با این اورلود میتوانیم یک بازه ی جدید به طول n از موقعیت position با مقدار پیش فرض val اضافه کنیم
🔹مفهوم Range:
با این میتوانیم یک دسته از عناصر جدید مثل یک آرایه یا یک وکتور دیگه را به موقعیت position اضافه کنیم
🔹مفهوم Move:
با این میتوانیم مقدار یک متغییر را اضافه کنیم
🔹مفهوم Initializer list:
با این میتوانیم یک دسته از داده هایی با نوع نا معلوم را به وکتور اضافه کرد
پارامتر ها :
🔹پارامتر Position:
موقعیتی از وکتور هست که می خواهیم داده های جدید به آن موقعیت اضافه شوند. دقت کنید که هیچ داده ای قبل از position قرار نمیگیرد و همه ی داده از position به بعد داخل وکتور قرار میگیرند
🔹پارامتر Val:
همان مقداری هست که می خواهیم به وکتور اضافه شود یا به عنوان مقدار پیشفرض تو بازه ی جدید جا بگیرد
🔹پارامتر n:
طول بازه ی جدیدی هست که ما می خواهیم به وکتورمان اضافه کنیم
🔹پارامتر First,last:
این دوتا میتوانند یا iterator هایی به اول و آخر یک وکتور دیگه باشند یا اشارگر هایی به اول و آخر یک آرایه. کل داده هایی که بین این دوتا اشارگر قرار میگیرند به وکتور اضافه میشوند
🔹پارامتر Li:
همان لیست با نوع نامعلوم هست
🔹مقادیر بازگشتی:
یک iterator به اولین عنصری که به وکتور اضافه شده. اگر یکی باشد به همان یکی اشاره میکند
22.Output:
23.myvector contains: 501 502 503 300 300 400 400 200 100 100 100
خط 5:
تعریف یک وکتور با طول 3 و مقدار پیشفرض 100, پس تا الان :
خط 8:
دادن یک iterator و مقدار 200 به متد. چون این iterator به اول وکتور اشاره میکند پس این مقدار به اول وکتور اضافه میشود, نتیجه :
خط 9:
دادن یک iterator ، یک طول و یک مقدار پیشفرض, دقت کنید که it هم اکنون به اول همان وکتور اولی اشاره میکند (یعنی اولین 100) چرا ؟ چون ما آن را مقدار دهی کردیم ولی بعد از اینکه محتویات وکتور را تغییر دادیم دوباره آن را مقدار دهی نکردیم, اما چون در خط 8 it را مساوی با مقدار بازگشتی متد insert گذاشتیم پس دوباره به اول همین وکتور اشاره میکند چرا ؟ چون متد insert یک اشاره گر به اولین داده ای که وارد وکتور میشود برمیگرداند که اینجا از قضا اولین داده ی وارد شده همان اولین داده ی داخل وکتورهست, پس :
خط 12:
تعریف یک وکتور دیگر به طول 2 و مقدار 400
🔰ترجمه شده از سایت www.cplusplus.com
@Learncpp
🔵 وکتور(vector)
🔹تابع Insert(قسمت اول)
single:
element iterator insert (const_iterator position,const value_type& val);
fill:
iterator insert (const_iterator position,size_type n,const value_type& val);
range:
template <class InputIterator>
iterator insert (const_iterator position,InputIterator first,InputIterator last);
move:
iterator insert (const_iterator position,value_type&& val);
initializer list:
iterator insert (const_iterator position,initializer_list<value_type> il);
متد insert میتونه یه یا چند عنصر را داخل یک جای مختلف از وکتور اضافه بکند, مثلا میتواند 5 تا عنصر جدید بعد از دهمین عنصر داخل وکتور اضافه کند, تازه میتوانیم یک بازه ی جدید به یک جای خاص از وکتورمان اضافه کنیم و یک مقدار پیشفرض داخلشون کپی کنیم.
توجه کنید که ما با اضافه کردن یک یا چند داده هیچ فضایی را برای آنها دوباره از سیستم نمیگریم، چون قبلا یک بازه ای از حافظه رو برای وکتور از سیستم گرفتیم (برای اطلاعات بیشتر رجوع شود به capacity). فقط در صورتی دوباره فضا میگریم که ظرفیت موجود برای وکتور (capacity) کم باشد و داده ها داخلش جا نگیرند.
🔹مفهوم Single element:
با این اورلود میتونیم فقط یه عنصر جدید به موقعیت position وکتور اضافه کنیم
🔹مفهوم Fill:
با این اورلود میتوانیم یک بازه ی جدید به طول n از موقعیت position با مقدار پیش فرض val اضافه کنیم
🔹مفهوم Range:
با این میتوانیم یک دسته از عناصر جدید مثل یک آرایه یا یک وکتور دیگه را به موقعیت position اضافه کنیم
🔹مفهوم Move:
با این میتوانیم مقدار یک متغییر را اضافه کنیم
🔹مفهوم Initializer list:
با این میتوانیم یک دسته از داده هایی با نوع نا معلوم را به وکتور اضافه کرد
پارامتر ها :
🔹پارامتر Position:
موقعیتی از وکتور هست که می خواهیم داده های جدید به آن موقعیت اضافه شوند. دقت کنید که هیچ داده ای قبل از position قرار نمیگیرد و همه ی داده از position به بعد داخل وکتور قرار میگیرند
🔹پارامتر Val:
همان مقداری هست که می خواهیم به وکتور اضافه شود یا به عنوان مقدار پیشفرض تو بازه ی جدید جا بگیرد
🔹پارامتر n:
طول بازه ی جدیدی هست که ما می خواهیم به وکتورمان اضافه کنیم
🔹پارامتر First,last:
این دوتا میتوانند یا iterator هایی به اول و آخر یک وکتور دیگه باشند یا اشارگر هایی به اول و آخر یک آرایه. کل داده هایی که بین این دوتا اشارگر قرار میگیرند به وکتور اضافه میشوند
🔹پارامتر Li:
همان لیست با نوع نامعلوم هست
🔹مقادیر بازگشتی:
یک iterator به اولین عنصری که به وکتور اضافه شده. اگر یکی باشد به همان یکی اشاره میکند
1.#include <iostream>
2.#include <vector>
3.int main ()
4.{5.std::vector<int> myvector(3,100);
6.std::vector<int>::iterator it;
7.it=myvector.begin();
8.it=myvector.insert(it,200);
9.myvector.insert(it,2,300);
10.//"it" no longer valid, get a new one:
11.it=myvector.begin();
12.std::vector<int> anothervector(2,400);
13.myvector.insert(it+2,anothervector.begin(),anothervector.end());
14.int myarray []={501,502,503};15.myvector.insert(myvector.begin(),myarray,myarray+3);
16.std::cout<<"myvector contains:";
17.for(it=myvector.begin();it<myvector.end();it++)
18.std::cout<<' '<<*it;
19.std::cout<<'\n';
20.return 0;
21.}
22.Output:
23.myvector contains: 501 502 503 300 300 400 400 200 100 100 100
خط 5:
5.std::vector<int> myvector(3,100);تعریف یک وکتور با طول 3 و مقدار پیشفرض 100, پس تا الان :
100 100 100خط 8:
8.it=myvector.insert(it,200);دادن یک iterator و مقدار 200 به متد. چون این iterator به اول وکتور اشاره میکند پس این مقدار به اول وکتور اضافه میشود, نتیجه :
200 100 100 100خط 9:
9.myvector.insert(it,2,300);دادن یک iterator ، یک طول و یک مقدار پیشفرض, دقت کنید که it هم اکنون به اول همان وکتور اولی اشاره میکند (یعنی اولین 100) چرا ؟ چون ما آن را مقدار دهی کردیم ولی بعد از اینکه محتویات وکتور را تغییر دادیم دوباره آن را مقدار دهی نکردیم, اما چون در خط 8 it را مساوی با مقدار بازگشتی متد insert گذاشتیم پس دوباره به اول همین وکتور اشاره میکند چرا ؟ چون متد insert یک اشاره گر به اولین داده ای که وارد وکتور میشود برمیگرداند که اینجا از قضا اولین داده ی وارد شده همان اولین داده ی داخل وکتورهست, پس :
300 300 200 100 100 100خط 12:
12.std::vector<int> anothervector(2,400);تعریف یک وکتور دیگر به طول 2 و مقدار 400
🔰ترجمه شده از سایت www.cplusplus.com
@Learncpp
#vector #insert
🔵 وکتور(vector)
🔹تابع Insert(ادامه قسمت اول)
خط 13:
دادن یک iterator که به دومین موقعیت وکتور اشاره میکند و دوتا iterator که به اول و آخر یک وکتور دیگر اشاره میکند, پس :
خط 14:
تعریف یک آرایه و دادن مقادیری به آن
خط 15:
دادن یک iterator به اولین عنصر وکتور (متد begin() ) و دادن دو اشاره گر که یکی به اول و یکی به آخر آرایه اشاره میکند, در نتیجه:
🔰ترجمه شده از سایت www.cplusplus.com
@Learncpp
🔵 وکتور(vector)
🔹تابع Insert(ادامه قسمت اول)
خط 13:
13.myvector.insert(it+2,anothervector.begin(),anothervector.end());دادن یک iterator که به دومین موقعیت وکتور اشاره میکند و دوتا iterator که به اول و آخر یک وکتور دیگر اشاره میکند, پس :
300 300 400 400 200 100 100 100خط 14:
14.int myarray []={501,502,503};تعریف یک آرایه و دادن مقادیری به آن
خط 15:
15.myvector.insert(myvector.begin(),myarray,myarray+3);دادن یک iterator به اولین عنصر وکتور (متد begin() ) و دادن دو اشاره گر که یکی به اول و یکی به آخر آرایه اشاره میکند, در نتیجه:
501 502 503 300 300 400 200 100 100 100🔰ترجمه شده از سایت www.cplusplus.com
@Learncpp
#vector
📚فهرست آموزش کتابخانه vector(وکتورها)
♦️وکتورچیست
#vector
t.me/Learncpp/550
♦️توضیحات بیشتر درباره وکتور
t.me/Learncpp/551
#pop_back
t.me/Learncpp/552
#push_back
t.me/Learncpp/553
#insert
1. t.me/Learncpp/556
2. t.me/Learncpp/557
#erase
t.me/Learncpp/558
#capacity
t.me/Learncpp/559
#clear
t.me/Learncpp/560
#size
t.me/Learncpp/563
#reserve
t.me/Learncpp/563
#resize
t.me/Learncpp/567
#max_size
t.me/Learncpp/572
#at
t.me/Learncpp/573
#operator
t.me/Learncpp/576
#Empty
t.me/Learncpp/582
#iterator
t.me/Learncpp/584
#Begin
t.me/Learncpp/588
#cbegin
t.me/Learncpp/589
#Rbegin
t.me/Learncpp/590
#crbegin
t.me/Learncpp/591
#End
t.me/Learncpp/595
#cend
t.me/Learncpp/596
#Rend
t.me/Learncpp/597
#crend
t.me/Learncpp/612
#Back
t.me/Learncpp/601
#Emplace
t.me/Learncpp/606
#Emplace_back
t.me/Learncpp/607
#operator
t.me/Learncpp/611
#Front
t.me/Learncpp/613
#swap
1. t.me/Learncpp/616
2. t.me/Learncpp/617
#data
t.me/Learncpp/621
#shrink_to_fit
t.me/Learncpp/625
#vector::vector
1. t.me/Learncpp/632
2. t.me/Learncpp/633
3. t.me/Learncpp/634
#assing
t.me/Learncpp/641
#relation_operator
t.me/Learncpp/652
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان ++C
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝@tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
📚فهرست آموزش کتابخانه vector(وکتورها)
♦️وکتورچیست
#vector
t.me/Learncpp/550
♦️توضیحات بیشتر درباره وکتور
t.me/Learncpp/551
#pop_back
t.me/Learncpp/552
#push_back
t.me/Learncpp/553
#insert
1. t.me/Learncpp/556
2. t.me/Learncpp/557
#erase
t.me/Learncpp/558
#capacity
t.me/Learncpp/559
#clear
t.me/Learncpp/560
#size
t.me/Learncpp/563
#reserve
t.me/Learncpp/563
#resize
t.me/Learncpp/567
#max_size
t.me/Learncpp/572
#at
t.me/Learncpp/573
#operator
t.me/Learncpp/576
#Empty
t.me/Learncpp/582
#iterator
t.me/Learncpp/584
#Begin
t.me/Learncpp/588
#cbegin
t.me/Learncpp/589
#Rbegin
t.me/Learncpp/590
#crbegin
t.me/Learncpp/591
#End
t.me/Learncpp/595
#cend
t.me/Learncpp/596
#Rend
t.me/Learncpp/597
#crend
t.me/Learncpp/612
#Back
t.me/Learncpp/601
#Emplace
t.me/Learncpp/606
#Emplace_back
t.me/Learncpp/607
#operator
t.me/Learncpp/611
#Front
t.me/Learncpp/613
#swap
1. t.me/Learncpp/616
2. t.me/Learncpp/617
#data
t.me/Learncpp/621
#shrink_to_fit
t.me/Learncpp/625
#vector::vector
1. t.me/Learncpp/632
2. t.me/Learncpp/633
3. t.me/Learncpp/634
#assing
t.me/Learncpp/641
#relation_operator
t.me/Learncpp/652
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان ++C
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝@tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
Telegram
Learning ©➕➕
#vector
🔵 وکتور(vector) چیست
خوب اول ما باید بدونیم وکتور یا همون بردار چیه تا بتونیم تشخیص بدیم که کجا باید ازش استفاده کنیم شما تا حالا حتما از آرایه ها استفاده کردید و حتما بزرگ ترین مشکل آرایه ها رو هم میدونید و اون مشکل همون ثابت بودن طول آرایه است،…
🔵 وکتور(vector) چیست
خوب اول ما باید بدونیم وکتور یا همون بردار چیه تا بتونیم تشخیص بدیم که کجا باید ازش استفاده کنیم شما تا حالا حتما از آرایه ها استفاده کردید و حتما بزرگ ترین مشکل آرایه ها رو هم میدونید و اون مشکل همون ثابت بودن طول آرایه است،…