100 likes | 197 Views
Abstrakta Containertyper. Vilka finns fördefinierade? Vad kan dom? #pragma warning(disable:4786). Sekventiell container. innehåller en ordnad följd av element. Följande typer finns: vector Specialfall “deque”, optimerad för köer lista. 0. 1. 2. 3. 4. vector<Type>. size capacity
E N D
Abstrakta Containertyper • Vilka finns fördefinierade? • Vad kan dom? • #pragma warning(disable:4786) CD5250 OOP med C++ Daniel Flemström MDH/IDT
Sekventiell container innehåller en ordnad följd av element. Följande typer finns: • vector • Specialfall “deque”, optimerad för köer • lista CD5250 OOP med C++ Daniel Flemström MDH/IDT
0 1 2 3 4 vector<Type> CD5250 OOP med C++ Daniel Flemström MDH/IDT
size capacity reserve resize push_back push_front [ ] begin end insert element/sequence erase element/sequence operator= empty vector(vec.pos1,vec.pos2) find Vector< > Exempel på medlemsfunktioner CD5250 OOP med C++ Daniel Flemström MDH/IDT
list<Type> CD5250 OOP med C++ Daniel Flemström MDH/IDT
size insert element/sequence push_back push_front sort reverse begin end erase element/sequence operator= empty list(list2.pos1,list2.pos2) merge List< >Exempel på medlemsfunktioner CD5250 OOP med C++ Daniel Flemström MDH/IDT
Iteratoranvändning vector<string>::iterator it;. . . for (it = myVect.begin(); it!= myVect.end(); it++) { cout << * it << endl; } CD5250 OOP med C++ Daniel Flemström MDH/IDT
Associativ container Stöder effektiv sökning Följande typer finns: • map - (nyckel, värde) - par • set - visst element finns/finns inte • multimap, multiset: som map, set men det kan finnas flera par/element med samma nyckel CD5250 OOP med C++ Daniel Flemström MDH/IDT
map<Type1, Type2> #include <map> . . . map <string,int> myPhonebook; myPhonebook.insert(make_pair(string(“Joe”), 123456)); . . . int joes_number = myPhonebook[“Joe”]; . . . myPhonebook.erase(“Joe”); CD5250 OOP med C++ Daniel Flemström MDH/IDT
set<Type> #include <set> set <int> lucky_numbers; lucky_numbers.insert(3); lucky_numbers.insert(7); lucky_numbers.insert(13); CD5250 OOP med C++ Daniel Flemström MDH/IDT