Technology sharing

[C Elementary] Praevia intellectus index classium

2024-07-12

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

1. Latin libraryalbumbenignus

Fundum tabulatum indicem est duplex modus circularis compages indicem coniunctorum cum excubiarum discissionibus.
Cum singula coniunctione instrumenti indicem instrumentorum communicationis socialis comparatum, iterator electronicarum bidirectionalis est iterator
Cum continentibus structuris sicut vector, index plus efficax est ad inserendum et delendum in quovis loco, sed temere accessum in quovis positione non sustinet.
Exemplum est album genus.

Cum indice classium utendo, lima caput includere debes<list>

2. Communes interfaces electronicarum classium

1. Communiter constructors

1. Default conditor, inanis connexum construit album

list();

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. }

2. Construe album objectum et initialize cum n vals

list(size_type n, const value_type& val =  value_type());

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt(3, 1);
  4. for (auto i : lt)
  5. {
  6. cout << i << " ";
  7. }
  8. }

operatio effectus;

3.Copy conditor album genus

list(const list& x); 

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt(3, 1);
  4. list<int> lt1(lt);
  5. for (auto i : lt1)
  6. {
  7. cout << i << " ";
  8. }
  9. }

operatio effectus;

4. Utere initialization fabricator iterator

  1. Template<class InputIterator>
  2. list(InputIterator first, InputIterator last);

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt(3, 1);
  4. list<int> lt1(lt.begin(), lt.end());
  5. for (auto i : lt1)
  6. {
  7. cout << i << " ";
  8. }
  9. }

operatio effectus;

2. Communiter facultatem interfaces

Idem est, simul hic loqui.

1.size, inanis, max_size, resize

magnitudine: Reditusconiunctum albumElementorum numerus in continente.

size_type size() const;

inanis: ReditusalbumUtrum continens vacuum sit (i.emagnitudineeft 0).
(Nota: Hoc munus continens ullo modo non mutat. Ad purgandumconiunctum albumContenta continentis videalbum :: clear。)

bool empty() const;

max_size(Non communiter): reditusconiunctum albumMaximus numerus elementorum continens continere potest.
(Ob notas limitationes systematis seu bibliotheca exsequendi, hoc maximum est potentiale vas assequi potestmagnitudine sed nulla cautione est ut continens magnitudinem illam attinget: adhuc repono aliquando collocare non poterit antequam ad illam magnitudinem perveniat. )

size_type max_size() const;

resize:Resize continensnelementa.
sinminor vena continensmagnitudine, contentum reducetur ad priorem suumnelementis, sublatis superantibus (et destruentibus).
sinMaior quam vena continensmagnitudinetum contentum ampliatur inserendo numerum elementorum requisitum in fine ad obtinendumn magnitudinem.Si certaval, tunc novum elementum initialized tovalcodices, secus sunt initiales pretii.
(Nota quod hoc munus mutat ipsa contenta continentis inserendo vel delens elementa a continente).

void resize (size_type n, value_type val = value_type());

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt(3, 1);
  4. /*list<int> lt1(lt);*/
  5. list<int> lt1(lt.begin(), lt.end());
  6. list<int> lt2;
  7. cout << lt1.size() <<endl;
  8. cout << lt1.empty() <<endl;
  9. cout << lt2.empty() <<endl;
  10. lt1.resize(10);
  11. cout << lt1.size() << endl;
  12. for (auto i : lt1)
  13. {
  14. cout << i << " ";
  15. }
  16. }

operatio effectus;

3. Communia accessus et traversal

1.Iterator

  1. iterator begin();
  2. const_iterator begin() const;
  3. iterator end();
  4. const_iterator end() const;

Iterator: positionem primi nodi et novissimi nodi in indice coniuncto obtinere solitus estProximum situm (i.e. stationis vigiliae)

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt(5, 2);
  4. list<int> ::iterator it = lt.begin();
  5. while (it != lt.end())
  6. {
  7. cout << *it << " ";
  8. ++it;
  9. }
  10. }

operatio effectus;

2. Reverse iterator

reverse_iterator rbegin();

const_reverse_iterator rbegin() const;

reverse_iterator scindet();

const_reverse_iterator rend() const;

Reverse iterator, rbegin situm ultimi nodi in continente accipit, scindendi locum vigilis in continente accipit.

  1. void test()
  2. {
  3. list<int> lt = { 1,23,4,4,5,2 };
  4. list<int> ::reverse_iterator rit = lt.rbegin();
  5. while (rit != lt.rend())
  6. {
  7. cout << *rit << " ";
  8. ++rit;
  9. }
  10. }

operatio effectus;

Nota: Contra iterator rit etiam uti pro ++

3.pronao et postico

frons;

reference front();

const_reference front() const;

Refert relationem ad notitias in primo nodo conditas in indice coniuncto

Retro;

reference back();

const_reference back() const;

Refert relationem ad notitias in ultimo nodi in nexu cum indice conditas

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt = {213123,123,34524,213};
  4. cout << lt.front() << endl;
  5. cout << lt.back() << endl;
  6. }

operatio effectus;

4.Add, delere, reprehendo ac mutare album

I) push_front et pop_front

push_front impositio dicitur caput, inserens elementum e capite indice coniunctorum

void push_front (const value_type& val);

pop_front appellatur capitis deletio, quae elementum e capite indice coniuncto delet.

vacui pop_front();

void pop_front();

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt = {213123,123,34524,213};
  4. cout << lt.front() << endl;
  5. lt.push_front(21345);
  6. cout << lt.front() << endl;
  7. lt.pop_front();
  8. cout << lt.front() << endl;
  9. }

operatio effectus;

II) push_back et pop_back

push_back immissio caudae appellatur, elementum a fine connexionis inserens

void push_back (const value_type& val);

pop_back cauda deletio dicitur, quae elementum a fine iuncti indicem delet.

inanis pop_back();

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt = {213123,123,34524,213};
  4. cout << lt.back() << endl;
  5. lt.push_back(21345);
  6. cout << lt.back() << endl;
  7. lt.pop_back();
  8. cout << lt.back() << endl;
  9. }

operatio effectus;

III) invenire

  1. template <class InputIterator, class T>
  2. InputIterator find(InputIterator first, InputIterator last, const T& val);

Inveni vallum in iteratorum duorum iteratorum et redde iteratorem ubi sita est

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 3; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. list<int>::iterator pos = find(lt.begin(), lt.end(), 1);
  9. *pos = 114514;
  10. for (auto i : lt)
  11. {
  12. cout << i << " ";
  13. }
  14. }

operatio effectus;

Nota: Hoc munus membrum non est functio indices, sed est functio in bibliotheca vexillum.

Ut videre potes, directe possumus iteratorem indices dedere et eius contentum mutare, sed iterator annon notet nodi? Cur dereferenciens potest eam datam mitigare?

Re quidem vera, iterator electronicarum non simulatus et exsecutus est utens primigenia monstratoris oecologici, et necesse est ut in fundo encapsuletur, quod in fonte codice simulatae exsecutionis indices reddetur.

4) insert

iterator (iterator positio, const value_type& val);

inanis inserta (positio iterator, size_type n, const value_type& val);

————————————————————————————————————————

template<class InputIterator>

void insert (iterator position, InputIterator primus, InputIterator ultimus);

Inserere vel elementis ante positionis

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 3; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. list<int>::iterator pos = find(lt.begin(), lt.end(), 1);
  9. lt.insert(pos, 8848);
  10. for (auto i : lt)
  11. {
  12. cout << i << " ";
  13. }
  14. }

operatio effectus;

Diligens discipuli invenire possunt quod operatio indices inserta estNon faciam ut irritum fiat iteratorquia nodi per pos demonstratus non mutatur nec positio relativa mutatur.

Attamen, deletio operandi elenchi iterator ut irritam facere certum erit, et solum iterator ostendens nodi deletae invalidam esse, et alii iteratores non afficientur.

5) dele

  1. iterator erase(iterator position);
  2. iterator erase(iterator first, iterator last);

Delete elementum situm vel omnia elementa in latitudine [primum, ultimum)

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 3; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. list<int>::iterator pos = find(lt.begin(), lt.end(), 1);
  9. lt.erase(lt.begin());
  10. for (auto i : lt)
  11. {
  12. cout << i << " ";
  13. }
  14. }

operatio effectus;

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 3; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. list<int>::iterator pos = find(lt.begin(), lt.end(), 2);
  9. lt.erase(lt.begin(),pos);
  10. for (auto i : lt)
  11. {
  12. cout << i << " ";
  13. }
  14. }

operatio effectus;

6) VERTO

void swap(vector&x);

PERMUTO duo list obiecti

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. list<int> lt2(6, 12);
  5. for (int i = 0; i < 10; i++)
  6. {
  7. lt.push_back(i);
  8. }
  9. lt.swap(lt2);
  10. for (auto i : lt2)
  11. {
  12. cout << i << " ";
  13. }
  14. cout << endl;
  15. }

operatio effectus;

7)adsignare

template<class InputIterator>

irritum assignare (InputIterator primus, InputIterator ultimus);

nullius valoris (size_type n, const value_type& val);

Specificare novum contentum pro indice, repone eius contentum current et numerum nodis mitigare

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 10; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. lt.assign(4, 0);
  9. for (auto i : lt)
  10. {
  11. cout << i << " ";
  12. }
  13. }

operatio effectus;

8)patet

vacua patet();

Nodos omnes delere in coniunctum album

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 10; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. lt.clear();
  9. cout << lt.size() << endl;
  10. }

operatio effectus;

5.List ordo modificatio interface

(1)sort

vacui sortis ();

template<class Compare>

vacui generis (Compare comp);

Ob singularitatem indices structurae, quale munus in bibliotheca vexillum adhiberi non potest, quia iterator operationes subtractionis praestare non potest.

Et in documentis C++, videre possumus tale in bibliotheca vexillum etiam typum iteratoris limitare ad accessum temere esse (RandomAccess)

  1. default (1)
  2. template <class RandomAccessIterator>
  3. void sort (RandomAccessIterator first, RandomAccessIterator last);
  4. custom (2)
  5. template <class RandomAccessIterator, class Compare>
  6. void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

Iteratores varia genera utilitatis habent:

  • Uno modo iterator, tantum facere potest ++
  • Iterator bidirectional, potest esse + et --
  • Temere iterator, potest esse +, -, + et -

Attamen huiusmodi munus indices non est necessarium, quia efficientia album directe voluptua coniunctum est multo tardius quam vector imitari, voluptua et rescribere ad album coniunctum.

(2)vicissim

template <class BidirectionalIterator>
  void reverse (BidirectionalIterator first, BidirectionalIterator last);

Reverse coniunctum album

Exempli gratia:

  1. void test()
  2. {
  3. list<int> lt;
  4. for (int i = 0; i < 10; i++)
  5. {
  6. lt.push_back(i);
  7. }
  8. for (auto i : lt)
  9. {
  10. cout << i << " ";
  11. }
  12. cout << endl;
  13. lt.reverse();
  14. for (auto i : lt)
  15. {
  16. cout << i << " ";
  17. }
  18. cout << endl;
  19. }

operatio effectus;


Si qui sunt errores, corrige me obsecro.