View
29
Download
3
Category
Preview:
DESCRIPTION
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. size capacity - PowerPoint PPT Presentation
Citation preview
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 1
Abstrakta Containertyper
• Vilka finns fördefinierade?
• Vad kan dom?
• #pragma warning(disable:4786)
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 2
Sekventiell container
innehåller en ordnad följd av element.
Följande typer finns:
• vector– Specialfall “deque”, optimerad för köer
• lista
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 3
vector<Type>
0 1 2 3 4
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 4
Vector< > Exempel på medlemsfunktioner
• size• capacity• reserve• resize• push_back• push_front• [ ]
• begin• end• insert element/sequence• erase element/sequence• operator=• empty• vector(vec.pos1,vec.pos2)• find
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 5
list<Type>
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 6
List< >Exempel på medlemsfunktioner
• size• insert
element/sequence• push_back• push_front• sort • reverse
• begin• end• erase element/sequence• operator=• empty• list(list2.pos1,list2.pos2)• merge
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 7
Iteratoranvändning
vector<string>::iterator it;. . .
for (it = myVect.begin(); it!= myVect.end(); it++)
{
cout << * it << endl;
}
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 8
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
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 9
map<Type1, Type2>
#include <map> . . .
map <string,int> myPhonebook;
myPhonebook.insert(make_pair(string(“Joe”), 123456));
. . .
int joes_number = myPhonebook[“Joe”];
. . .
myPhonebook.erase(“Joe”);
2000-period2 CD5250 OOP med C++Daniel Flemström MDH/IDT
Sid 10
set<Type>
#include <set>
set <int> lucky_numbers;
lucky_numbers.insert(3);
lucky_numbers.insert(7);
lucky_numbers.insert(13);
Recommended