Ang laki ng vector ay maaaring mabawasan sa pamamagitan ng paggamit ng iba't ibang mga built-in na pag-andar ng C ++. Ang pagpapaandar ng pop_back () ay isa sa mga ito. Ginagamit ito upang alisin ang huling elemento ng vector mula sa likuran at bawasan ang laki ng vector sa pamamagitan ng 1. Ngunit ang huling elemento ng vector ay hindi natanggal nang tuluyan tulad ng burahin () na pagpapaandar. Ang iba't ibang paggamit ng pagpapaandar na ito ay naipaliwanag sa tutorial na ito.
Syntax:
vector::pop_back();Ang pagpapaandar na ito ay walang anumang argumento, at wala itong ibinabalik.
Paunang kinakailangan:
Bago suriin ang mga halimbawa ng tutorial na ito, kailangan mong suriin ang naka-install na g ++ compiler o wala sa system. Kung gumagamit ka ng Visual Studio Code, pagkatapos ay i-install ang mga kinakailangang extension upang maipon ang C ++ source code upang likhain ang maipapatupad na code. Dito, ang application ng Visual Studio Code ay ginamit upang ipagsama at maipatupad ang C ++ code. Ang mga paraan upang mabawasan ang laki ng vector gamit ang pop_back () na pagpapaandar na ipinakita sa susunod na bahagi ng tutorial na ito.
Halimbawa-1: Alisin ang maraming elemento mula sa vector
Lumikha ng isang C ++ file na may sumusunod na code upang alisin ang dalawang elemento mula sa lalagyan ng vector sa pamamagitan ng pagbawas sa laki ng vector gamit ang pop_back () function. Ang isang vector ng 5 halaga ng string ay naideklara sa code. Ang pagpapaandar na pop_back () ay tinawag ng dalawang beses dito upang pansamantalang alisin ang huling mga elemento mula sa vector at bawasan ang laki ng vector sa pamamagitan ng 2. Ang nilalaman ng vector ay na-print nang dalawang beses bago at pagkatapos magamit ang pop_back () na function.
// Isama ang mga kinakailangang aklatan
# isama
# isama
gamit namespaceoras;
intpangunahing() {
// Ideklara ang isang vector ng mga halaga ng string
vector<lubid>mga bulaklak= {'Rose','Lity','Marigold','Tulip','Tubig Liiy'};
gastos << 'Ang mga halaga ng vector: n';
// Iterate ang vector gamit ang loop upang mai-print ang mga halaga
para sa(intako= 0;ako<mga bulaklak.laki(); ++ako)
gastos <<mga bulaklak[ako] << ';
gastos << ' n';
// Tanggalin ang huling dalawang halaga mula sa vector
mga bulaklak.pop_back();
mga bulaklak.pop_back();
gastos << ' nAng mga halaga ng vector pagkatapos alisin: n';
// Iterate ang vector gamit ang loop upang mai-print ang mga halaga
para sa(intako= 0;ako<mga bulaklak.laki(); ++ako)
gastos <<mga bulaklak[ako] << ';
gastos << ' n';
bumalik ka 0;
}
Output:
Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas.
Halimbawa-2: Lumikha ng isang bagong vector mula sa ibang vector
Lumikha ng isang C ++ file na may sumusunod na code upang maipasok ang mga tukoy na halaga sa isang walang laman na vector mula sa isa pang vector sa pamamagitan ng pag-alis ng mga elemento gamit ang pop_back () function. Ang isang vector ng 8 mga numero ng integer at isang walang laman na vector ng uri ng integer ay naideklara sa code. Ang loop na 'habang' ay ginamit upang paulit-ulitin ang bawat elemento ng unang vector at ipasok ang elemento sa bagong vector kung ang numero ay nahahati sa pamamagitan ng 2. Ang kabuuan ng lahat ng kahit na mga numero ay kinakalkula din dito. Ang bawat elemento ng unang vector ay aalisin ng pag-andar ng pop_back () sa bawat pag-ulit ng loop upang maabot ang kondisyon ng pagwawakas ng loop.
// Isama ang mga kinakailangang aklatan
# isama
# isama
gamit namespaceoras;
intpangunahing()
{
// Ideklara ang isang vector ng data ng integer
vector<int>intVector{ 5,9,4,7,2,8,1,3 };
// Ideklara ang isang walang laman na vector
vector<int>bagongVector;
gastos << 'Ang mga halaga ng orihinal na vector: n';
// Iterate ang vector gamit ang loop upang mai-print ang mga halaga
para sa(intako= 0;ako<intVector.laki(); ++ako)
gastos <<intVector[ako] << ';
gastos << ' n';
// Ipasimula ang resulta
intresulta= 0;
// Iterate ang loop hanggang sa maging walang laman ang vector
habang(!intVector.walang laman())
{
/ *
Alamin ang pantay na mga numero upang ipasok sa bagongVector
at kalkulahin ang kabuuan ng pantay na mga numero
* /
kung (intVector.bumalik() % 2 == 0)
{
resulta+=intVector.bumalik();
bagongVector.push_back(intVector.bumalik());
}
// Tanggalin ang elemento mula sa dulo ng intVactor
intVector.pop_back();
}
gastos << 'Ang mga halaga ng bagong vector: n';
// Iterate ang vector gamit ang loop upang mai-print ang mga halaga
para sa(intako= 0;ako<bagongVector.laki(); ++ako)
gastos <<bagongVector[ako] << ';
gastos << ' n';
gastos << 'Ang kabuuan ng lahat ng mga pantay na numero:' <<resulta<< ' n';
bumalik ka 0;
}
Output:
Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Mayroong tatlong pantay na mga numero sa unang vector. Mayroong 8, 2, at 4.
Halimbawa-3: Suriin ang huling elemento ng vector ay tinanggal o hindi
Nabanggit nang mas maaga na ang pop_back () ay hindi permanenteng aalisin ang mga elemento mula sa vector, at inaalis nito ang elemento sa pamamagitan ng pagbawas sa laki ng vector lamang. Kaya, ang tinanggal na elemento ay mananatili sa parehong posisyon hanggang sa ang laki ng vector ay tumataas at pinalitan ang elemento ng isa pang elemento. Lumikha ng isang C ++ file na may sumusunod na code upang suriin ang sangkap na tinanggal ng pop_back () na function na mayroon o hindi. Ang huling posisyon ng orihinal na vector ay nai-print bago at pagkatapos gamitin ang pop_back () function.
# isama# isama
gamit namespaceoras;
intpangunahing()
{
// Ideklara ang isang vector ng data ng integer
vector<int>intVector{ 54,19,46,72,22,83,10,53 };
// Ideklara ang isang walang laman na vector
vector<int>bagongVector;
// Ideklara ang isang variable ng integer
inthaba;
// I-print ang huling elemento batay sa laki ng vector
haba=intVector.laki();
gastos << 'Ang kasalukuyang laki ng vector:' <<haba<< ' n';
gastos << 'Ang huling halaga ng vector bago alisin:' <<intVector[haba-1] << ' n';
// Tanggalin ang elemento mula sa dulo ng vector
intVector.pop_back();
// I-print ang huling elemento batay sa laki ng vector pagkatapos alisin
haba=intVector.laki();
gastos << 'Ang kasalukuyang laki ng vector:' <<haba<< ' n';
gastos << 'Ang huling halaga ng vector pagkatapos alisin:' <<intVector[haba] << ' n';
bumalik ka 0;
}
Output:
Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Ipinapakita ng output na ang laki ng vector ay nabawasan ng 1, ngunit ang elemento ng huling posisyon ng orihinal na vector ay mayroon pa rin.
Konklusyon:
Tatlong magkakaibang paggamit ng pop_back () na function ang nailarawan sa tutorial na ito gamit ang mga simpleng halimbawa. Ang pangunahing layunin ng paggamit ng pagpapaandar na ito ay malilinis para sa mga mambabasa pagkatapos ng pagsasanay ng mga halimbawa ng tutorial na ito.