Burahin ng Vector () Pag-andar sa C ++

Vector Erase Function C



Ginagamit ang array upang mag-imbak ng maraming data, at ang bilang ng mga elemento ng array ay hindi mababago sa oras ng pagtakbo. Maaaring malutas ang problemang ito sa pamamagitan ng paggamit ng isang vector na gumagana tulad ng isang pabagu-bagong array. Iba't ibang mga pag-andar ang umiiral sa vector class upang magdagdag at mag-alis ng isang elemento mula sa vector. Ang function na burahin () ay ginagamit upang alisin ang isa o higit pang mga elemento mula sa vector sa oras ng pagtakbo na bumabawas sa laki ng vector. Ang mga gamit ng pagpapaandar na ito ay naipaliwanag sa tutorial na ito.

Syntax:

Ang dalawang uri ng syntax ng pagpapaandar na ito ay ibinigay sa ibaba.







iterator burahin(posisyon ng iterator);

Ang pagpapaandar sa itaas na burahin () ay ginagamit upang alisin ang isang solong elemento mula sa vector, at nagbabalik ito ng isang iterator, at tumuturo ito sa elemento na sinusundan ng huling nabura na elemento.



iterator burahin(iterator na nagsisimula_posisyon, iterator na nagtatapos_posisyon);

Ang pagpapaandar sa itaas na burahin () ay ginagamit upang alisin ang maraming mga elemento mula sa vector batay sa posisyon na nabanggit sa una at ikalawang mga argumento ng pagpapaandar na ito.



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. Iba't ibang gamit ng burahin () ang pagpapaandar upang maipasok ang (mga) elemento sa isang vector ay ipinakita sa ibaba.





Halimbawa-1: Alisin ang unang elemento ng elemento

Lumikha ng isang C ++ file na may sumusunod na code upang alisin ang isang elemento mula sa simula ng vector. Ang isang vector ng mga halaga ng string ay ginamit sa code. Ang mga halaga ng vector ay nai-print bago at pagkatapos ng pagtanggal ng unang elemento mula sa vector gamit ang burahin () na pag-andar na may isang parameter.

// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit namespaceoras;

// Ipakita ang mga halaga ng vector

walang bisadisplay_vector(vector<lubid>mga prutas)

{

// Initialize the counter

intcounter= 1;

// Iterate at i-print ang mga elemento ng vector gamit ang loop

para sa (awtomatikosiya=mga prutas.magsimula();siya!=mga prutas.magtapos();siya++)

{

// Suriin ang mga elemento ay ang huling elemento o hindi

kung(counter!=mga prutas.laki())

gastos << *siya<< ',';

iba pa

gastos << *siya;

// Palakihin ang counter ng 1

counter++;

}

gastos <<endl;

}

intpangunahing(walang bisa) {

// Ideklara ang isang vector ng data ng string

vector<lubid>mga prutas= { 'Orange','Saging','Mango','Jack Fruit','Lichi' };

// I-print ang mga mayroon nang mga halaga ng vector

gastos << 'Ang mga halaga ng vector bago alisin:' <<endl;

display_vector(mga prutas);

// Tanggalin ang unang elemento mula sa vector

mga prutas.burahin(mga prutas.magsimula());

// I-print ang mga mayroon nang mga halaga ng vector pagkatapos alisin

gastos << ' nAng mga halaga ng vector pagkatapos alisin: ' <<endl;

display_vector(mga prutas);

bumalik ka 0;

}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas.



Halimbawa-2: Alisin ang maraming elemento

Lumikha ng isang C ++ file na may sumusunod na code upang alisin ang maraming mga elemento mula sa vector gamit ang burahin () na pagpapaandar. Ang isang vector ng mga halaga ng integer ay ginamit sa code. Dalawang mga iterator ang ginamit dito upang maitakda ang hanay ng mga elemento na tinanggal mula sa vector. Ang function na burahin () ay ginamit ng dalawang mga parameter upang alisin ang maraming mga elemento mula sa vector.

// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit namespaceoras;

// Ipakita ang vector

walang bisadisplay_vector(vector<int>nums)

{

// I-print ang mga halaga ng vector gamit ang loop

para sa(awtomatikosiya=numsmagsimula();siya!=numsmagtapos() ;siya++)

gastos << *siya<< ';

// Magdagdag ng bagong linya

gastos << ' n';

}

intpangunahing() {

// Ideklara ang isang vector ng data ng integer

vector<int>intArray{ 678,435,960,231,800,387,634,267,409,294};

// I-print ang mga mayroon nang mga halaga ng vector

gastos << 'Ang mga halaga ng vector bago alisin:' <<endl;

display_vector(intArray);

// Ideklara ang dalawang mga iterator upang alisin ang saklaw ng mga elemento mula sa vector

vector<int> :: paulit-ulitstartEle, endEle;

// Itakda ang iterator sa unang posisyon

startEle=intArraymagsimula();

// Palakihin ang panimulang iterator ng 2

isulong(startEle,2);

// Itakda ang iterator sa huling posisyon

endEle=intArraymagtapos();

// Decrement the ending iterator by 3

isulong(endEle,-3);

// Tanggalin ang saklaw ng mga elemento

intArrayburahin(startEle, endEle);

// I-print ang mga mayroon nang mga halaga ng vector pagkatapos alisin

gastos << ' nAng mga halaga ng vector pagkatapos alisin: ' <<endl;

display_vector(intArray);

bumalik ka 0;

}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Ayon sa saklaw ng mga iterator, ang mga elemento mula sa ika-3 posisyon hanggang sa ika-7 na posisyon ng vector ay tinanggal.

Halimbawa-3: Alisin ang mga tukoy na elemento

Lumikha ng isang C ++ file na may sumusunod na code upang alisin ang mga tukoy na elemento ng vector gamit ang burahin () na pagpapaandar. Ang isang vector ng 7 na elemento ng integer ay idineklara sa code. Susunod, ang loop na 'for' ay ginamit upang paulitin ang mga elemento ng vector at alisin ang mga elementong iyon mula sa vector na hindi nahahati sa 5.

// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit namespaceoras;

intpangunahing()

{

// Ideklara ang isang vector ng data ng integer

vector<int>numero= { 78,Apat lima,67,25,98,75,52 };

gastos << 'Ang mga halaga ng vector bago alisin: n';

para sa (int Const &ako:numero) {

gastos <<ako<< ';

}

gastos <<endl;

// Alisin ang mga numero mula sa vector ang mga iyon ay hindi nahahati sa 5

para sa (awtomatikosiya=numero.magsimula();siya!=numero.magtapos();siya++)

{

// Suriin ang numero ay nahahati ng 5 o hindi

kung (*siya% 5 != 0)

{

// Tanggalin ang elemento batay sa iterator

numero.burahin(siya-);

}

}

gastos << 'Ang mga halaga ng vector pagkatapos alisin: n';

para sa (int Const &ako:numero) {

gastos <<ako<< ';


}


gastos <<endl;


bumalik ka 0;

}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Ipinapakita ng output na ang vector ay naglalaman ng mga mahahati na elemento ng 5 lamang, at ang iba pang mga elemento ay tinanggal.

Konklusyon:

Ang iba't ibang paggamit ng burahin () na pagpapaandar ay ipinakita sa tutorial na ito upang alisin ang mga elemento ng vector. Ang C ++ ay may maraming iba pang mga pagpapaandar upang alisin ang elemento mula sa vector, at ang mga pagpapaandar na iyon ay maaaring alisin ang solong elemento nang paisa-isa. Ngunit ang parehong solong at maraming mga elemento mula sa anumang posisyon ng vector ay maaaring alisin sa pamamagitan ng paggamit ng vector burahin () function.