Vector Resize () funkcija C ++

Vector Resize Function C



Vektors ir ļoti noderīga C ++ klase dinamiskā masīva izveidošanai. Vektora lielumu var mainīt jebkurā laikā, lai atrisinātu jebkuru programmēšanas problēmu. C ++ pastāv daudzas iebūvētas funkcijas dažādu veidu uzdevumu veikšanai vektoru konteinerā. Resize () funkcija ir viena no tām. To izmanto, lai mainītu vektora lielumu. Izmantojot šo funkciju, vektora izmēru var palielināt vai samazināt. Funkcijas resize () izmantošana C ++ vektorā ir izskaidrota šajā apmācībā.

Sintakse:

Funkciju resize () var izmantot vairākos veidos. Tālāk ir norādītas divas šīs funkcijas sintakses.







spēkā neesošsmainīt izmērus(izmēra_tips n)

Ja n vērtība ir mazāka par vektora objekta sākotnējo izmēru, tad vektora izmērs tiks samazināts. Ja n vērtība ir lielāka par vektora sākotnējo izmēru, tad vektora izmērs tiks palielināts. Ja n vērtība ir vienāda ar vektora sākotnējo izmēru, tad vektora lielums nemainīsies.



spēkā neesošsmainīt izmērus(izmēra_tips n,konstvalue_type&vērtību);

Ja šajā funkcijā tiek izmantots otrais arguments, tad argumenta vērtība tiks pievienota vektora beigās.



Abas resize () funkcijas neko neatgriež.





Priekšnosacījums:

Pirms šīs apmācības piemēru pārbaudes jums jāpārbauda, ​​vai g ++ kompilators ir instalēts sistēmā vai nav. Ja izmantojat Visual Studio kodu, tad instalējiet nepieciešamos paplašinājumus, lai apkopotu C ++ avota kodu, lai izveidotu izpildāmo kodu. Šeit C ++ koda apkopošanai un izpildei izmantota lietojumprogramma Visual Studio Code. Šīs apmācības nākamajā daļā ir parādīti dažādi šīs funkcijas lietojumi, izmantojot dažādus piemērus.

1. piemērs: samaziniet vektora lielumu

Izveidojiet C ++ failu ar šādu kodu, lai pārbaudītu, kā samazināt vektora lielumu, izmantojot funkciju resize (). Kodā ir deklarēts vektors ar 4 virkņu vērtībām. Pēc vektora sākotnējā izmēra drukāšanas vektorā ir ievietotas trīs jaunas vērtības. Pēc ievietošanas vektora izmērs tika izdrukāts vēlreiz. Funkcija resize () ir izmantota, lai samazinātu vektora izmēru līdz 5. Pēc izmēra samazināšanas vektora izmērs tika izdrukāts vēlreiz.



// Iekļaut nepieciešamās bibliotēkas

#iekļaut

#iekļaut

izmantojot vārda telpastundas;

intgalvenais()

{

// Deklarēt virkņu vērtību vektoru

vektors<virkne>pārtikas produktiem= {'Kūka','Konditorejas izstrādājumi','Pica','Burgers'};

izmaksas << 'Pašreizējais vektora lielums:' <<pārtikas produktiem.Izmērs() <<endl;

// Pievienojiet trīs elementus

pārtikas produktiem.atgrūst('Makaroni');

pārtikas produktiem.atgrūst('Fry Fry');

pārtikas produktiem.atgrūst('Vistas cepšana');

izmaksas << 'Pašreizējais vektora izmērs pēc ievietošanas:' <<pārtikas produktiem.Izmērs() <<endl;

// Mainīt vektora izmēru

pārtikas produktiem.mainīt izmērus(5);

izmaksas << 'Pašreizējais vektora izmērs pēc lieluma maiņas:' <<pārtikas produktiem.Izmērs() <<endl;

atgriezties 0;

}

Izeja:

Pēc iepriekš minētā koda izpildes parādīsies šāda izvade. Rezultāts rāda, ka sākotnējais vektora izmērs bija 4, izmērs kļuva par 7 pēc 3 jaunu vērtību ievietošanas, un izmērs kļuva par 5 pēc resize () funkcijas izmantošanas.

2. piemērs: palieliniet vektora lielumu

Izveidojiet C ++ failu ar šādu kodu, lai pārbaudītu, kā palielināt vektora izmēru, izmantojot funkciju resize (). Kodā ir deklarēts 5 veselu skaitļu vektors. Sākotnējā vektora izmērs ir izdrukāts pirms vektora lieluma palielināšanas, izmantojot funkciju resize (). Vektora izmērs ir atkārtoti izdrukāts pēc lieluma mainīšanas uz 8. Tālāk vektora beigās ir ievietoti 5 skaitļi, un modificētā vektora izmērs ir izdrukāts vēlreiz.

// Iekļaut nepieciešamās bibliotēkas

#iekļaut

#iekļaut

izmantojot vārda telpastundas;

intgalvenais()

{

// Vesela skaitļa vērtību vektora deklarēšana

vektors<int>numurus= {10,90,divdesmit,80,30 };

izmaksas << 'Pašreizējais vektora lielums:' <<numurus.Izmērs() <<endl;

// Mainīt vektora izmēru

numurus.mainīt izmērus(8);

izmaksas << 'Pašreizējais vektora izmērs pēc lieluma maiņas:' <<numurus.Izmērs() <<endl;

// Pievienojiet vektoram 5 skaitļus

numurus.atgrūst(60);

numurus.atgrūst(40);

numurus.atgrūst(piecdesmit);

numurus.atgrūst(70);

numurus.atgrūst(100);

izmaksas << 'Pašreizējais vektora izmērs pēc ievietošanas:' <<numurus.Izmērs() <<endl;

atgriezties 0;

}

Izeja:

Pēc iepriekš minētā koda izpildes parādīsies šāda izvade. Rezultāts parāda, ka sākotnējais vektora izmērs bija 5, lielums kļuva par 8 pēc vektora lieluma mainīšanas, un izmērs kļuva par 13 pēc 5 elementu ievietošanas vektorā.

3. piemērs: mainiet vektora lielumu ar vērtībām

Izveidojiet C ++ failu ar šādu kodu, lai pārbaudītu, kā mainīt vektora izmēru, vairākas reizes ievietojot vienu un to pašu vērtību. Kodā ir deklarēts 5 pludiņu skaitļu vektors. Funkcija resize () ir izmantota, lai mainītu vektora izmēru līdz 7 un divas reizes ievietotu vektorā skaitli 5,55. Sākotnējā vektora un modificētā vektora saturs tiks izdrukāts pēc koda izpildes.

// vektora izmēru maiņa

#iekļaut

#iekļaut

izmantojot vārda telpastundas;

intgalvenais()

{

// Deklarēt peldošo vērtību vektoru

vektors<peldēt>numurus= { 7.89,3.98,5.56,9.65,2.33 };

izmaksas << 'Vektora vērtības pirms lieluma maiņas: n';

// Atkārtojiet vektoru, izmantojot cilpu, lai drukātu vērtības

priekš(inti= 0;i<numurus.Izmērs(); ++i)

izmaksas <<numurus[i] << '';

izmaksas << ' n';

// Mainiet vektora lielumu ar vērtībām

numurus.mainīt izmērus(7,5.55);

izmaksas << 'Vektora vērtības pēc lieluma maiņas: n';

// Atkārtojiet vektoru, izmantojot cilpu, lai drukātu vērtības

priekš(inti= 0;i<numurus.Izmērs(); ++i)

izmaksas <<numurus[i] << '';

izmaksas << ' n';

atgriezties 0;

}

Izeja:

Pēc iepriekš minētā koda izpildes parādīsies šāda izvade. Rezultāts parāda, ka skaitlis 5,55 ir ievietots divas reizes vektora beigās.

Secinājums:

Funkcijas resize () izmantošana, lai mainītu vektora lielumu ar vērtību vai bez vērtības, ir aprakstīta šajā apmācībā, izmantojot vienkāršus piemērus. Jaunais C ++ kodētājs pēc šīs apmācības izlasīšanas varēs mainīt vektora lielumu, pamatojoties uz prasību, izmantojot funkciju resize ().