మాడ్యూల్ పాఠాలు (1/2)
శ్రేణులు మరియు వెక్టర్స్
C++లో, డేటా సేకరణలను నిర్వహించడం ప్రాథమికంగా రెండు సాధనాల ద్వారా జరుగుతుంది: పాత-శైలి శ్రేణులు (C-శైలి శ్రేణులు) మరియు వెక్టర్లు (std::vector). స్టాటిక్ మరియు డైనమిక్ మెమరీ మధ్య వ్యత్యాసాన్ని అర్థం చేసుకోవడం సమర్థవంతమైన కోడ్ను వ్రాయడానికి ప్రాథమికమైనది.
1. స్టాటిక్ అరేలు (C-శైలి శ్రేణులు)
శ్రేణి అనేది పక్కనే ఉన్న మెమరీ స్థానాల్లో నిల్వ చేయబడిన ఒకే రకమైన మూలకాల యొక్క సమాహారం. కంపైల్ సమయంలో స్టాటిక్ అర్రే పరిమాణం తప్పనిసరిగా తెలుసుకోవాలి మరియు తర్వాత మార్చలేరు:
int grades[5] = {18, 22, 25, 28, 30}; // Array of 5 integersముఖ్య లక్షణాలు:
- స్థిర పరిమాణం: మీరు రన్టైమ్లో ఎలిమెంట్లను జోడించలేరు లేదా తీసివేయలేరు.
- స్టాక్ కేటాయింపు: కేటాయించడానికి మరియు డీలాకేట్ చేయడానికి చాలా వేగంగా.
- యాక్సెస్: ఇండెక్స్ ఆపరేటర్
[]ద్వారా పూర్తయింది (ఉదా., మొదటి మూలకం కోసంgrades[0]).
2. డైనమిక్ వెక్టర్స్ (std::vector)
C++ ప్రామాణిక టెంప్లేట్ లైబ్రరీ (STL) std::vector తరగతిని అందిస్తుంది, ఇది డైనమిక్ శ్రేణిని సూచిస్తుంది. దీన్ని ఉపయోగించడానికి, మీరు తప్పనిసరిగా <vector> హెడర్ని చేర్చాలి:
#include <vector>
std::vector<int> numbers; // Creates an empty vector of integersసాధారణ కార్యకలాపాలు:
- ముగింపుకు జోడించు:
.push_back(value)పద్ధతి వెక్టార్ చివరిలో ఒక మూలకాన్ని చొప్పిస్తుంది, అవసరమైతే స్వయంచాలకంగా మెమరీని మళ్లీ కేటాయిస్తుంది. - పరిమాణం:
.size()పద్ధతి వెక్టార్లో ప్రస్తుతం ఉన్న మూలకాల సంఖ్యను అందిస్తుంది. - సురక్షిత ప్రాప్యత:
[]ఆపరేటర్తో పాటు, మీరు.at(index)పద్ధతిని ఉపయోగించవచ్చు (ఉదా.,numbers.at(0)), ఇది సూచిక హద్దులు దాటితే మినహాయింపును అందిస్తుంది.
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores now contains {90, 85, 95}
std::cout << scores.size(); // Prints 3మీరే ప్రయత్నించండి
సంఖ్యల పేరుతో పూర్ణాంకాల యొక్క std:: వెక్టర్ను ప్రకటించండి. .push_back() పద్ధతిని ఉపయోగించి దాని లోపల 10, 20 మరియు 30 విలువలను జోడించి, సంఖ్యలు.size() ఉపయోగించి దాని పరిమాణాన్ని ముద్రించండి.
సూచనను చూపించు
వెక్టర్ను `std::vector<int> సంఖ్యలు;`తో ప్రకటించండి, మూడు సంఖ్యలను `.push_back(value)`తో చొప్పించి, దాన్ని `std::cout << numbers.size();`తో ముద్రించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
ప్రధానంగా, 5 అంశాల గ్రేడ్ల శ్రేణి నిర్వచించబడింది. శ్రేణిలోని అన్ని మూలకాల మొత్తాన్ని లెక్కించడానికి లూప్ కోసం a వ్రాయండి, దానిని వేరియబుల్ మొత్తంలో నిల్వ చేయండి మరియు దానిని std::cout ఉపయోగించి ముద్రించండి.
సూచనను చూపించు
`ఫర్ (int i = 0; i < 5; ++i)`లూప్ని ఉపయోగించండి మరియు లూప్లోని ప్రతి మూలకాన్ని `సమ్ += గ్రేడ్లు[i];`తో సంకలనం చేయండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
C++లో std::vector ముగింపుకు మూలకాన్ని జోడించడానికి సరైన పద్ధతి ఏమిటి?
std::vector<int> numbers; // come aggiungere il valore 50?