திசையன் அழிப்பு () சி ++ இல் செயல்பாடு

Vector Erase Function C



வரிசை பல தரவுகளைச் சேமிக்கப் பயன்படுகிறது, மேலும் வரிசையின் உறுப்புகளின் எண்ணிக்கையை இயக்க நேரத்தில் மாற்ற முடியாது. டைனமிக் வரிசை போல வேலை செய்யும் திசையனைப் பயன்படுத்துவதன் மூலம் இந்த சிக்கலை தீர்க்க முடியும். திசையன் இருந்து ஒரு உறுப்பு சேர்க்க மற்றும் நீக்க பல்வேறு செயல்பாடுகள் திசையன் வகுப்பில் உள்ளன. திசையனின் அளவை குறைக்கும் ரன் நேரத்தில் திசையனிலிருந்து ஒன்று அல்லது அதற்கு மேற்பட்ட உறுப்புகளை நீக்க அழித்தல் () செயல்பாடு பயன்படுத்தப்படுகிறது. இந்த செயல்பாட்டின் பயன்கள் இந்த டுடோரியலில் விளக்கப்பட்டுள்ளன.

தொடரியல்:

இந்த செயல்பாட்டின் இரண்டு வகையான தொடரியல் கீழே கொடுக்கப்பட்டுள்ளது.







ஐடரேட்டர் அழி(இட்ரேட்டர் நிலை);

மேற்கூறிய அழித்தல் () செயல்பாடு திசையனிலிருந்து ஒரு தனிமத்தை அகற்றப் பயன்படுகிறது, மேலும் அது ஒரு மறுசீரமைப்பைத் தருகிறது, மேலும் அது கடைசியாக அழிக்கப்பட்ட உறுப்பைத் தொடர்ந்து வரும் உறுப்பைச் சுட்டிக்காட்டுகிறது.



ஐடரேட்டர் அழி(ஐடரேட்டர் ஸ்டார்டிங்_போசிஷன், இட்ரேட்டர் எண்டிங்_போசிஷன்);

மேற்கண்ட அழிப்பு () செயல்பாடு இந்த செயல்பாட்டின் முதல் மற்றும் இரண்டாவது வாதங்களில் குறிப்பிடப்பட்டுள்ள நிலையை அடிப்படையாகக் கொண்டு திசையனிலிருந்து பல கூறுகளை அகற்ற பயன்படுகிறது.



முன் தேவை:

இந்த டுடோரியலின் எடுத்துக்காட்டுகளைச் சரிபார்க்கும் முன், ஜி ++ கம்பைலர் நிறுவப்பட்டதா அல்லது கணினியில் இல்லையா என்பதை நீங்கள் சரிபார்க்க வேண்டும். நீங்கள் விஷுவல் ஸ்டுடியோ குறியீட்டைப் பயன்படுத்துகிறீர்கள் என்றால், இயங்கக்கூடிய குறியீட்டை உருவாக்க C ++ மூலக் குறியீட்டைத் தொகுக்க தேவையான நீட்டிப்புகளை நிறுவவும். இங்கே, விஷுவல் ஸ்டுடியோ கோட் பயன்பாடு சி ++ குறியீட்டைத் தொகுத்து செயல்படுத்த பயன்படுகிறது. திசையன் (உறுப்புகளை) திசையனுக்குள் செருக () செயல்பாட்டின் பல்வேறு பயன்பாடுகள் கீழே காட்டப்பட்டுள்ளன.





எடுத்துக்காட்டு -1: முதல் உறுப்பு உறுப்பை அகற்று

திசையனின் தொடக்கத்திலிருந்து ஒரு உறுப்பை அகற்ற பின்வரும் குறியீட்டைக் கொண்ட C ++ கோப்பை உருவாக்கவும். சரம் மதிப்புகளின் திசையன் குறியீட்டில் பயன்படுத்தப்படுகிறது. திசையனின் மதிப்புகள் ஒரு அளவுருவுடன் அழி () செயல்பாட்டைப் பயன்படுத்தி திசையனிலிருந்து முதல் உறுப்பை நீக்குவதற்கு முன்னும் பின்னும் அச்சிடப்பட்டுள்ளன.

// தேவையான நூலகங்களைச் சேர்க்கவும்

#சேர்க்கிறது

#சேர்க்கிறது

பயன்படுத்தி பெயர்வெளிமணி;

// திசையனின் மதிப்புகளைக் காட்டு

வெற்றிடம்காட்சி_வெக்டர்(திசையன்<லேசான கயிறு>பழங்கள்)

{

// கவுண்டரைத் தொடங்குங்கள்

intஎதிர்= 1;

// சுழற்சியைப் பயன்படுத்தி திசையனின் உறுப்புகளைத் திருப்பி அச்சிடவும்

க்கான (ஆட்டோஅவர்=பழங்கள்.தொடங்க();அவர்!=பழங்கள்.முடிவு();அவர்++)

{

// உறுப்புகள் கடைசி உறுப்பு இல்லையா என்பதை சரிபார்க்கவும்

என்றால்(எதிர்!=பழங்கள்.அளவு())

செலவு << *அவர்<< ',';

வேறு

செலவு << *அவர்;

// கவுண்டரை 1 ஆல் அதிகரிக்கவும்

எதிர்++;

}

செலவு <<endl;

}

intமுக்கிய(வெற்றிடம்) {

// சரம் தரவின் திசையனை அறிவிக்கவும்

திசையன்<லேசான கயிறு>பழங்கள்= { 'ஆரஞ்சு','வாழை','மாங்கனி','ஜாக் பழம்','லிச்சி' };

// திசையனின் தற்போதைய மதிப்புகளை அச்சிடவும்

செலவு << அகற்றுவதற்கு முன் திசையனின் மதிப்புகள்: ' <<endl;

காட்சி_வெக்டர்(பழங்கள்);

// திசையனிலிருந்து முதல் உறுப்பை அகற்றவும்

பழங்கள்.அழி(பழங்கள்.தொடங்க());

// நீக்கிய பின் இருக்கும் திசையனின் மதிப்புகளை அச்சிடவும்

செலவு << ' nநீக்கிய பின் திசையனின் மதிப்புகள்: ' <<endl;

காட்சி_வெக்டர்(பழங்கள்);

திரும்ப 0;

}

வெளியீடு:

மேலே உள்ள குறியீட்டைச் செயல்படுத்திய பின் பின்வரும் வெளியீடு தோன்றும்.



எடுத்துக்காட்டு -2: பல கூறுகளை அகற்று

அழித்தல் () செயல்பாட்டைப் பயன்படுத்தி திசையனிலிருந்து பல கூறுகளை அகற்ற பின்வரும் குறியீட்டைக் கொண்ட C ++ கோப்பை உருவாக்கவும். முழு மதிப்புகளின் திசையன் குறியீட்டில் பயன்படுத்தப்படுகிறது. திசையனிலிருந்து அகற்றப்பட்ட உறுப்புகளின் வரம்பை அமைக்க இங்கே இரண்டு மறுசீரமைப்பிகள் பயன்படுத்தப்பட்டுள்ளன. திசையனிலிருந்து பல கூறுகளை அகற்ற இரண்டு அளவுருக்களுடன் அழித்தல் () செயல்பாடு பயன்படுத்தப்படுகிறது.

// தேவையான நூலகங்களைச் சேர்க்கவும்

#சேர்க்கிறது

#சேர்க்கிறது

பயன்படுத்தி பெயர்வெளிமணி;

// திசையனைக் காட்டு

வெற்றிடம்காட்சி_வெக்டர்(திசையன்<int>எண்)

{

// வளையத்தைப் பயன்படுத்தி திசையனின் மதிப்புகளை அச்சிடவும்

க்கான(ஆட்டோஅவர்=எண்.தொடங்க();அவர்!=எண்.முடிவு() ;அவர்++)

செலவு << *அவர்<< '';

// புதிய வரியைச் சேர்க்கவும்

செலவு << ' n';

}

intமுக்கிய() {

// முழுத் தரவுத் திசையனை அறிவிக்கவும்

திசையன்<int>intArray{ 678,435,960,231,800,387,634,267,409,294};

// திசையனின் தற்போதைய மதிப்புகளை அச்சிடவும்

செலவு << அகற்றுவதற்கு முன் திசையனின் மதிப்புகள்: ' <<endl;

காட்சி_வெக்டர்(intArray);

// திசையனிலிருந்து உறுப்புகளின் வரம்பை அகற்ற இரண்டு மறுசீரமைப்பாளர்களை அறிவிக்கவும்

திசையன்<int> :: இட்ரேட்டர்startEle, endEle;

// இட்ரேட்டரை முதல் நிலைக்கு அமைக்கவும்

startEle=intArray.தொடங்க();

// தொடங்குபவரை 2 ஆல் அதிகரிக்கவும்

முன்கூட்டியே(startEle,2);

// இட்ரேட்டரை கடைசி நிலைக்கு அமைக்கவும்

endEle=intArray.முடிவு();

// முடிக்கும் இட்ரேட்டரை 3 ஆல் குறைக்கவும்

முன்கூட்டியே(endEle,-3);

// உறுப்புகளின் வரம்பை அகற்று

intArray.அழி(startEle, endEle);

// நீக்கிய பின் இருக்கும் திசையனின் மதிப்புகளை அச்சிடவும்

செலவு << ' nநீக்கிய பின் திசையனின் மதிப்புகள்: ' <<endl;

காட்சி_வெக்டர்(intArray);

திரும்ப 0;

}

வெளியீடு:

மேலே உள்ள குறியீட்டைச் செயல்படுத்திய பின் பின்வரும் வெளியீடு தோன்றும். மறுசீரமைப்பாளர்களின் வரம்பிற்கு ஏற்ப, திசையனின் 3 வது நிலையில் இருந்து 7 வது நிலை வரை உள்ள உறுப்புகள் அகற்றப்பட்டுள்ளன.

எடுத்துக்காட்டு -3: குறிப்பிட்ட கூறுகளை அகற்று

அழித்தல் () செயல்பாட்டைப் பயன்படுத்தி திசையனின் குறிப்பிட்ட கூறுகளை அகற்ற பின்வரும் குறியீட்டைக் கொண்ட C ++ கோப்பை உருவாக்கவும். குறியீட்டில் 7 முழு உறுப்புகளின் திசையன் அறிவிக்கப்பட்டுள்ளது. அடுத்து, 'ஃபார்' லூப் திசையன் கூறுகளை மீண்டும் செய்யவும் மற்றும் 5 ஆல் வகுக்க முடியாத திசையனிலிருந்து அந்த உறுப்புகளை அகற்றவும் பயன்படுகிறது.

// தேவையான நூலகங்களைச் சேர்க்கவும்

#சேர்க்கிறது

#சேர்க்கிறது

பயன்படுத்தி பெயர்வெளிமணி;

intமுக்கிய()

{

// முழுத் தரவுத் திசையனை அறிவிக்கவும்

திசையன்<int>எண்கள்= { 78,நான்கு. ஐந்து,67,25,98,75,52 };

செலவு << அகற்றுவதற்கு முன் திசையனின் மதிப்புகள்: n';

க்கான (int கான்ஸ்ட் &நான்:எண்கள்) {

செலவு <<நான்<< '';

}

செலவு <<endl;

// திசையனிலிருந்து எண்களை அகற்று, அவை 5 ஆல் வகுபடாது

க்கான (ஆட்டோஅவர்=எண்கள்.தொடங்க();அவர்!=எண்கள்.முடிவு();அவர்++)

{

// எண் 5 ஆல் வகுபடுகிறதா இல்லையா என்பதை சரிபார்க்கவும்

என்றால் (*அவர்% 5 != 0)

{

// ஐடரேட்டரின் அடிப்படையில் உறுப்பை அகற்றவும்

எண்கள்.அழி(அவர்-);

}

}

செலவு << அகற்றிய பின் திசையனின் மதிப்புகள்: n';

க்கான (int கான்ஸ்ட் &நான்:எண்கள்) {

செலவு <<நான்<< '';


}


செலவு <<endl;


திரும்ப 0;

}

வெளியீடு:

மேலே உள்ள குறியீட்டைச் செயல்படுத்திய பின் பின்வரும் வெளியீடு தோன்றும். திசையன் 5 ஆல் மட்டுமே வகுக்கக்கூடிய கூறுகளைக் கொண்டுள்ளது மற்றும் பிற உறுப்புகள் அகற்றப்பட்டுள்ளன என்பதை வெளியீடு காட்டுகிறது.

முடிவுரை:

திசையன் கூறுகளை அகற்ற இந்த டுடோரியலில் அழித்தல் () செயல்பாட்டின் பல்வேறு பயன்பாடுகள் காட்டப்பட்டுள்ளன. திசையனிலிருந்து உறுப்பை அகற்றுவதற்கு சி ++ பல செயல்பாடுகளை கொண்டுள்ளது, மேலும் அந்த செயல்பாடுகள் ஒரே நேரத்தில் தனிமத்தை அகற்றும். ஆனால் திசையனின் எந்த நிலையிலிருந்தும் ஒற்றை மற்றும் பல உறுப்புகள் இரண்டையும் திசையன் அழிப்பு () செயல்பாட்டைப் பயன்படுத்தி அகற்றலாம்.