Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom?
Sid period2CD5250 OOP med C++ Mats Medin 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
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT OBS! Det svenska ordet vektor betyder inom matematiken endimensionell matris, dvs “array” i C, C++, Pascal m.fl. programmeringsspråk. Detta är inte samma sak som “vector” i C++!
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT vector 01234
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT vector member functions size capacity reserve resize push_back push_front [] begin end insert element/sequence erase element/sequence operator= empty vector(vec.pos1,vec.pos2) find
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT list
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT list member functions begin end insert element/sequence size push_back push_front merge sort reverse erase element/sequence operator= empty list(list2.pos1,list2.pos2)
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Iteratoranvändning for (vector ::iterator myiterator = mycontainer.begin(); myiterator!= mycontainer.end(); ++ myiterator) cout << * myiterator << endl;
Sid period2CD5250 OOP med C++ Mats Medin 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
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT map #include map myPhonebook; myPhonebook.insert(string(“Joe”), );... int joes_number = myPhonebook[“Joe”];... myPhonebook.erase(“Joe”);
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT set #include set lucky_numbers; lucky_numbers.insert(3); lucky_numbers.insert(7); lucky_numbers.insert(13);