प्रौद्योगिकी साझेदारी

सी श्रृङ्खला-सदिश (1) .

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

🌈个人主页:सहपाठी युचेन् 

💫个人格言:“成为自己未来的主人~”   

Vector इत्यस्य परिचयः उपयोगः च

सदिशस्य परिचयः

यदा वेक्टर् द्वारा निर्मितः पैरामीटर् प्रकारः char प्रकारः भवति तदा सः स्ट्रिंग् इत्यस्य सदृशः भवति, परन्तु द्वयोः मध्ये अपि भेदाः सन्ति यथा, वेक्टर् कृते, ।अन्येषां भिन्नप्रकारस्य गणनां कर्तुं शक्नोति, यदा तु स्ट्रिंग् केवलं स्ट्रिंग् कृते एव भवितुम् अर्हति, तथा च वयं विस्तरेण स्ट्रिंग् ज्ञात्वा अन्ये STL वस्तूनि ज्ञातुं अस्माकं कृते सुकरं भविष्यति ।

  1. सदिशः एकः क्रमपात्रः अस्ति यः चर-आकारस्य सरणीं प्रतिनिधियति ।
  2. यथा सरणी, Vector अपि तत्त्वानां संग्रहणार्थं निरन्तरं भण्डारणस्थानस्य उपयोगं करोति, यस्य अर्थः अस्ति यत् Vector इत्यस्य तत्त्वानि उपलिपिनां उपयोगेन अभिगन्तुं शक्यन्ते, परन्तु सरणी इव कार्यक्षमम् अस्ति, परन्तु सरणी इव तस्य आकारः गतिशीलरूपेण परिवर्तयितुं शक्यते तस्य आकारः स्वयमेव पात्रेण सम्पादितः भविष्यति ।
  3. अनिवार्यतया, Vector स्वस्य तत्त्वानां संग्रहणार्थं गतिशीलरूपेण आवंटितस्य सरणीयाः उपयोगं करोति यदा नूतनं तत्त्वं सम्मिलितं भवति तदा भण्डारणस्थानं वर्धयितुं संख्यायाः पुनः आवंटनं करणीयम् । दृष्टिकोणं नूतनं सरणीं आवंटयितुं ततः सर्वाणि तत्त्वानि अस्मिन् सरणीयां स्थानान्तरयितुं समयस्य दृष्ट्या एतत् तुल्यकालिकं महत् कार्यम् अस्ति, यतः प्रत्येकं समये नूतनं तत्त्वं पात्रे योजितं भवति चेत्, Vector न भविष्यति The size will not be reallocated प्रतिवारं।
  4. सदिश आवंटनस्थानरणनीतिः : सदिशः सम्भाव्यवृद्धिं समायोजयितुं किञ्चित् अतिरिक्तं स्थानं आवंटयिष्यति यतोहि भण्डारणस्थानं आवश्यकात् वास्तविकभण्डारणस्थानात् बृहत्तरं भवति विभिन्नपुस्तकालयाः स्थानस्य उपयोगस्य पुनर्विनियोगस्य च तौलनार्थं भिन्नानां रणनीतयः उपयुञ्जते, परन्तु सर्वथा, पुनर्विनियोगः आवंटनं सर्वदा भवितुमर्हति लघुगणकीयरूपेण वर्धमानस्य अन्तरालस्य आकारस्य, येन अन्ते कस्यचित् तत्त्वस्य निवेशनं नित्यकाले एव भवति ।
  5. अतः वेक्टर् बृहत्तरं भण्डारणस्थानं गृह्णाति यत् स्थानस्य प्रबन्धनस्य क्षमतां प्राप्तुं तथा च कुशलरूपेण गतिशीलरूपेण वर्धयितुं शक्नोति ।
  6. अन्यैः गतिशीलक्रमपात्रैः सह तुलने, अन्ते तत्त्वान् योजयितुं विलोपनं च तुल्यकालिकरूपेण कार्यकुशलं भवति, परन्तु अन्येषां विलोपन-प्रवेश-क्रियाणां कृते यत् अन्ते नास्ति

सदिशस्य उपयोगः

push_back फंक्शन

  1. void test_vector1()
  2. {
  3. vector<double> v2;
  4. vector<int> v1;
  5. v1.push_back(1);
  6. v1.push_back(2);
  7. v1.push_back(3);
  8. v1.push_back(4);
  9. for (size_t i = 0; i < v1.size(); i++)
  10. {
  11. cout << v1[i] << " ";
  12. }
  13. cout << endl;
  14. }
  15. int main()
  16. {
  17. test_vector1();
  18. return 0;
  19. }

वस्तुतः push_back इत्यस्य विषये किमपि वक्तुं नास्ति ।

वस्तुतः सञ्चिकायां विस्तृतः परिचयः अस्ति यदा सम्मिलनस्य समये पर्याप्तं स्थानं नास्ति तदा क्षमता स्वयमेव विस्तारिता भविष्यति ।

Vector function इत्यस्य traversal methods इत्यस्य विषये अत्र विविधानां methods इत्यस्य विषये अपि वदामः ।

  1. for (size_t i = 0; i < v1.size(); i++)
  2. {
  3. cout << v1[i] << " ";
  4. }
  5. cout << endl;
  6. for (size_t i = 0; i < v1.size(); i++)
  7. {
  8. cout << v1[i] << " ";
  9. }
  10. cout << endl;
  11. vector<int>::iterator it1 = v1.begin();
  12. while (it1 != v1.end())
  13. {
  14. cout << *it1 << " ";
  15. it1++;
  16. }
  17. cout << endl;
  18. for (auto e : v1)
  19. {
  20. cout << e << " ";
  21. }
  22. cout << endl;

subscript [] access, iterator, range for च समाविष्टं, एतत् मूलतः पूर्वं वयं यस्य स्ट्रिंग् इत्यस्य विषये चर्चां कृतवन्तः तत् एव अस्ति ।

  1. void test_vector2()
  2. {
  3. vector<string> v2;
  4. string s1("张三");
  5. v2.push_back(s1);
  6. v2.push_back(string("李四"));
  7. v2.push_back("王五");
  8. v2[1] += "来";
  9. for (const auto& e : v2)
  10. {
  11. cout << e << " ";
  12. }
  13. cout << endl;
  14. }
  15. int main()
  16. {
  17. test_vector2();
  18. return 0;
  19. }

 

Vector इत्यस्य विषये यत् अधिकं आश्चर्यं तत् अस्ति यत् एतस्य पुनः उपयोगः करणीयः अपि च Vector इत्यस्मिन् अन्यवस्तूनि प्रयोक्तुं शक्यते, यथा List, string, अथवा अन्यः Vector अपि ।

यदि स्ट्रिंग् प्रयुक्तं भवति तर्हि क्रमसारणीयाः प्रत्येकं तत्त्वं String इत्यस्य प्रतिनिधित्वं करोति ।