Функција Вецтор Ерасе() у Ц++

Funkcija Vector Erase U C



Низ се користи за складиштење више података, а број елемената низа се не може променити у време извођења. Овај проблем се може решити коришћењем вектора који ради као динамички низ. У векторској класи постоје различите функције за додавање и уклањање елемента из вектора. Функција ерасе() се користи за уклањање једног или више елемената из вектора у време извођења што смањује величину вектора. Употреба ове функције је објашњена у овом водичу.

Синтакса:

У наставку су дате две врсте синтаксе ове функције.







брисање итератора ( позиција итератора ) ;

Горња функција ерасе() се користи за уклањање једног елемента из вектора и враћа итератор и указује на елемент који прати последњи избрисани елемент.



брисање итератора ( почетна_позиција итератора, крајња_позиција итератора ) ;

Горња функција ерасе() се користи за уклањање више елемената из вектора на основу позиције поменуте у првом и другом аргументу ове функције.



Предуслов:

Пре него што проверите примере овог упутства, морате да проверите да ли је г++ компајлер инсталиран или не у систему. Ако користите Висуал Студио Цоде, инсталирајте неопходна проширења за компајлирање Ц++ изворног кода за креирање извршног кода. Овде је апликација Висуал Студио Цоде коришћена за компајлирање и извршавање Ц++ кода. Доле су приказане различите употребе функције ерасе() за уметање елемента(а) у вектор.





Пример-1: Уклоните први елемент елемента

Направите Ц++ датотеку са следећим кодом да бисте уклонили елемент са почетка вектора. У коду је коришћен вектор стринг вредности. Вредности вектора су одштампане пре и после брисања првог елемента из вектора помоћу функције ерасе() са једним параметром.

//Укључи неопходне библиотеке

#инцлуде <иостреам>

#инцлуде <вектор>

Користећи именског простора стд ;

//Прикажи вредности вектора

празнина дисплаи_вецтор ( вектор < низ > воће )

{

//Иницијализујте бројач

инт бројач = 1 ;

//Понављање и штампање елемената вектора помоћу петље

за ( ауто он = воће. започети ( ) ; он ! = воће. крај ( ) ; он ++ )

{

//Провери да ли су елементи последњи елемент или не

ако ( бројач ! = воће. величина ( ) )

цоут << * он << ', ' ;

друго

цоут << * он ;

// Повећај бројач за 1

бројач ++ ;

}

цоут << ендл ;

}

инт главни ( празнина ) {

//Декларишемо вектор стринг података

вектор < низ > воће = { 'наранџаста' , 'банана' , 'манго' , 'Јацк Фруит' , Лицхее } ;

//Одштампај постојеће вредности вектора

цоут << 'Вредности вектора пре уклањања: ' << ендл ;

дисплаи_вецтор ( воће ) ;

//Уклонимо први елемент из вектора

воће. обрисати ( воће. започети ( ) ) ;

//Одштампај постојеће вредности вектора након уклањања

цоут << ' Вредности вектора након уклањања: ' << ендл ;

дисплаи_вецтор ( воће ) ;

повратак 0 ;

}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода.



Пример-2: Уклоните више елемената

Направите Ц++ датотеку са следећим кодом да бисте уклонили више елемената из вектора помоћу функције ерасе(). У коду је коришћен вектор целобројних вредности. Овде су коришћена два итератора да би се подесио опсег елемената уклоњених из вектора. Функција ерасе() је коришћена са два параметра за уклањање више елемената из вектора.

//Укључи неопходне библиотеке

#инцлуде <вектор>

#инцлуде <иостреам>

Користећи именског простора стд ;

//Прикажи вектор

празнина дисплаи_вецтор ( вектор < инт > бројевима )

{

//Одштампај вредности вектора користећи петљу

за ( ауто он = бројевима. започети ( ) ; он ! = бројевима. крај ( ) ; он ++ )

цоут << * он << ' ' ;

//Додај нову линију

цоут << ' ' ;

}

инт главни ( ) {

//Декларишемо вектор целобројних података

вектор < инт > интАрраи { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;

//Одштампај постојеће вредности вектора

цоут << 'Вредности вектора пре уклањања: ' << ендл ;

дисплаи_вецтор ( интАрраи ) ;

//Декларишемо два итератора да бисте уклонили опсег елемената из вектора

вектор < инт > :: итератор стартЕле, ендЕле ;

//Постави итератор на прву позицију

започните их = интАрраи. започети ( ) ;

// Повећај почетни итератор за 2

унапред ( започни их, 2 ) ;

//Постави итератор на последњу позицију

ендЕле = интАрраи. крај ( ) ;

//Смањи завршни итератор за 3

унапред ( ендЕле, - 3 ) ;

//Уклоните опсег елемената

интАрраи. обрисати ( стартЕле, ендЕле ) ;

//Одштампај постојеће вредности вектора након уклањања

цоут << ' Вредности вектора након уклањања: ' << ендл ;

дисплаи_вецтор ( интАрраи ) ;

повратак 0 ;

}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода. Према опсегу итератора, уклоњени су елементи са 3. позиције на 7. позицију вектора.

Пример-3: Уклоните одређене елементе

Направите Ц++ датотеку са следећим кодом да бисте уклонили специфичне елементе вектора користећи функцију ерасе(). У коду је декларисан вектор од 7 целих елемената. Затим, петља „фор“ се користи за понављање векторских елемената и уклањање оних елемената из вектора који нису дељиви са 5.

//Укључи неопходне библиотеке

#инцлуде <иостреам>

#инцлуде <вектор>

Користећи именског простора стд ;

инт главни ( )

{

//Декларишемо вектор целобројних података

вектор < инт > бројевима = { 78 , Четири, пет , 67 , 25 , 98 , 75 , 52 } ;

цоут << „Вредности вектора пре уклањања: ' ;

за ( инт конст & и : бројевима ) {

цоут << и << '' ;

}

цоут << ендл ;

//Уклоните бројеве из вектора који нису дељиви са 5

за ( ауто он = бројевима. започети ( ) ; он ! = бројевима. крај ( ) ; он ++ )

{

//Проверите да ли је број дељив са 5 или не

ако ( * он % 5 ! = 0 )

{

//Уклоните елемент на основу итератора

бројевима. обрисати ( он -- ) ;

}

}

цоут << „Вредности вектора након уклањања: ' ;

за ( инт конст & и : бројевима ) {

цоут << и << '' ;


}


цоут << ендл ;


повратак 0 ;

}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода. Излаз показује да вектор садржи само дељиве елементе са 5, а остали елементи су уклоњени.

Закључак:

У овом водичу су приказане различите употребе функције ерасе() за уклањање векторских елемената. Ц++ има много других функција за уклањање елемента из вектора, а те функције могу уклонити један по један елемент. Али и појединачни и вишеструки елементи са било које позиције вектора могу се уклонити коришћењем функције векторског брисања().