ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 5 · 2లో పాఠం 1కోర్సులో 11/18~12 min
మాడ్యూల్ పాఠాలు (1/2)

శ్రేణులు మరియు వెక్టర్స్

C++లో, డేటా సేకరణలను నిర్వహించడం ప్రాథమికంగా రెండు సాధనాల ద్వారా జరుగుతుంది: పాత-శైలి శ్రేణులు (C-శైలి శ్రేణులు) మరియు వెక్టర్‌లు (std::vector). స్టాటిక్ మరియు డైనమిక్ మెమరీ మధ్య వ్యత్యాసాన్ని అర్థం చేసుకోవడం సమర్థవంతమైన కోడ్‌ను వ్రాయడానికి ప్రాథమికమైనది.


1. స్టాటిక్ అరేలు (C-శైలి శ్రేణులు)

శ్రేణి అనేది పక్కనే ఉన్న మెమరీ స్థానాల్లో నిల్వ చేయబడిన ఒకే రకమైన మూలకాల యొక్క సమాహారం. కంపైల్ సమయంలో స్టాటిక్ అర్రే పరిమాణం తప్పనిసరిగా తెలుసుకోవాలి మరియు తర్వాత మార్చలేరు:

C++
int grades[5] = {18, 22, 25, 28, 30}; // Array of 5 integers

ముఖ్య లక్షణాలు:

  • స్థిర పరిమాణం: మీరు రన్‌టైమ్‌లో ఎలిమెంట్‌లను జోడించలేరు లేదా తీసివేయలేరు.
  • స్టాక్ కేటాయింపు: కేటాయించడానికి మరియు డీలాకేట్ చేయడానికి చాలా వేగంగా.
  • యాక్సెస్: ఇండెక్స్ ఆపరేటర్ [] ద్వారా పూర్తయింది (ఉదా., మొదటి మూలకం కోసం grades[0]).

2. డైనమిక్ వెక్టర్స్ (std::vector)

C++ ప్రామాణిక టెంప్లేట్ లైబ్రరీ (STL) std::vector తరగతిని అందిస్తుంది, ఇది డైనమిక్ శ్రేణిని సూచిస్తుంది. దీన్ని ఉపయోగించడానికి, మీరు తప్పనిసరిగా <vector> హెడర్‌ని చేర్చాలి:

C++
#include <vector>

std::vector<int> numbers; // Creates an empty vector of integers

సాధారణ కార్యకలాపాలు:

  • ముగింపుకు జోడించు: .push_back(value) పద్ధతి వెక్టార్ చివరిలో ఒక మూలకాన్ని చొప్పిస్తుంది, అవసరమైతే స్వయంచాలకంగా మెమరీని మళ్లీ కేటాయిస్తుంది.
  • పరిమాణం: .size() పద్ధతి వెక్టార్‌లో ప్రస్తుతం ఉన్న మూలకాల సంఖ్యను అందిస్తుంది.
  • సురక్షిత ప్రాప్యత: [] ఆపరేటర్‌తో పాటు, మీరు .at(index) పద్ధతిని ఉపయోగించవచ్చు (ఉదా., numbers.at(0)), ఇది సూచిక హద్దులు దాటితే మినహాయింపును అందిస్తుంది.
C++
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores now contains {90, 85, 95}
std::cout << scores.size(); // Prints 3

మీరే ప్రయత్నించండి

వ్యాయామం#cpp.m5.l1.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

సంఖ్యల పేరుతో పూర్ణాంకాల యొక్క std:: వెక్టర్‌ను ప్రకటించండి. .push_back() పద్ధతిని ఉపయోగించి దాని లోపల 10, 20 మరియు 30 విలువలను జోడించి, సంఖ్యలు.size() ఉపయోగించి దాని పరిమాణాన్ని ముద్రించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

వెక్టర్‌ను `std::vector<int> సంఖ్యలు;`తో ప్రకటించండి, మూడు సంఖ్యలను `.push_back(value)`తో చొప్పించి, దాన్ని `std::cout << numbers.size();`తో ముద్రించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#cpp.m5.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

ప్రధానంగా, 5 అంశాల గ్రేడ్‌ల శ్రేణి నిర్వచించబడింది. శ్రేణిలోని అన్ని మూలకాల మొత్తాన్ని లెక్కించడానికి లూప్ కోసం a వ్రాయండి, దానిని వేరియబుల్ మొత్తంలో నిల్వ చేయండి మరియు దానిని std::cout ఉపయోగించి ముద్రించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

`ఫర్ (int i = 0; i < 5; ++i)`లూప్‌ని ఉపయోగించండి మరియు లూప్‌లోని ప్రతి మూలకాన్ని `సమ్ += గ్రేడ్‌లు[i];`తో సంకలనం చేయండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

Quiz#cpp.m5.l1.q1
సిద్ధంగా ఉంది

C++లో std::vector ముగింపుకు మూలకాన్ని జోడించడానికి సరైన పద్ధతి ఏమిటి?

C++
std::vector<int> numbers; // come aggiungere il valore 50?
సమాధాన ఎంపికలు