Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanEda Catli Değiştirilmiş 10 yıl önce
1
MAP SINIFI
2
MAP C + + da Haritalar değer çiftlerini benzersiz anahtar içeren birleşmeli konteyner olarak sıralar. Haritalar onların anahtarlarına göre sıralanır.
3
Map Constructors & Destructors Haritalar;varsayılan yöntemleri, kopyalar ve tahsis eder.
4
Map operators Karşılaştırma = harita elemanlarını atamak
5
int main () { map birinci; map ikinci; birinci['x']=8; birinci['y']=16; birinci['z']=32; birinci['k']=64; ikinci=birinci; // ikinci 4 oldu birinci=map (); // ilk anda bostur cout << "Birincinin uzunlugu: " << int (birinci.size()) << endl; cout << "ikincinin uzunlugu : " << int (ikinci.size()) << endl; return 0; }
6
Map typedefs Bir harita typedefs
7
begin •Haritanın başlangıç elemanına dönen bir fonksiyondur.
8
end •Bir haritanın sadece son elemanını döndüren fonksiyondur.
9
int main () { map mb; map ::iterator bu; mb['b'] = 100; mb['a'] = 200; mb['c'] = 300; // show content: for ( bu=mb.begin() ; bu != mb.end(); bu++ ) cout " << (*bu).second << endl; return 0; }
10
clear •Haritadaki tüm unsurlarını kaldırır
11
int main () { map haritam; map ::iterator it; haritam['x']=100; haritam['y']=200; haritam['z']=300; cout << "haritamin elemanlari:\n"; for ( it=haritam.begin() ; it != haritam.end(); it++ ) cout " << (*it).second << endl; haritam.clear(); cout << "haritamin elemanlari:\n"; for ( it=haritam.begin() ; it != haritam.end(); it++ ) cout " << (*it).second << endl; return 0; }
12
count •Belirli bir anahtarla eşleşen elemanların sayısını verir
13
int main () { map haritam; char c; haritam ['a']=101; haritam ['c']=202; haritam ['f']=303; for (c='a'; c<'h'; c++) { cout << c; if (haritam.count(c)>0) cout << " haritamin elemanidir.\n"; else cout << " haritamin elemani degildir.\n"; } return 0; }
14
empty •Harita içeriğinin boş ya da dolu olma durumunu kontrol eden fonksiyondur.
15
int main () { map haritam; haritam['a']=10; haritam['b']=20; haritam['c']=50; while (!haritam.empty()) { cout first "; cout second << endl; haritam.erase(haritam.begin()); } return 0; }
16
equal_range •Sadece geçmiş son öğeleri ve belirli bir anahtarla eşleşen ilk tekrarlayıcılara döner
17
int main () { map haritam; pair ::iterator,map ::iterator> ret; haritam['a']=10; haritam['b']=5; haritam['c']=50; ret = haritam.equal_range('b'); cout << "en alt nokta "; cout first " second << endl; cout << "en ust nokta "; cout first " second << endl; return 0; }
18
erase •Map sınıfında silme yapmak için erase() fonksiyonu kullanılır.
19
int main () { map haritam; map ::iterator bu; haritam['a']=10; haritam['b']=20; haritam['c']=30; haritam['d']=40; haritam['e']=50; haritam['f']=60; bu=haritam.find('b'); haritam.erase (bu); // b yi siler haritam.erase ('c'); // c yi siler bu=haritam.find ('e'); haritam.erase ( bu, haritam.end() ); // e yi siler for ( bu=haritam.begin() ; bu != haritam.end(); bu++ ) cout " << (*bu).second << endl; return 0;}
20
find • İstenilen elemanı bulmak için kullanılan fonksiyondur.
21
int main () { map haritam; map ::iterator it; haritam['a']=50; haritam['b']=100; haritam['c']=150; haritam['d']=200; it=haritam.find('b'); //bul ve sil satırları haritam.erase (it); haritam.erase (haritam.find('d')); cout << "haritam da kalan elemanlar:" << endl; cout " second << endl; return 0; }
22
insert • Bir haritaya öğeler eklemek için kullanılır
23
int main () { map haritam; map ::iterator bu; pair ::iterator,bool> ret; // insert fonksiyonu sürümü (tek parametre) : haritam.insert ( pair ('a',100) ); haritam.insert ( pair ('z',200) ); ret=haritam.insert (pair ('z',500) ); if (ret.second==false) { cout << "eleman z zaten "; cout second <<"\n"<< endl; }
24
//ikinci insert fonksiyonu sürümü (ipucu konumu ile): bu=haritam.begin(); haritam.insert (bu, pair ('b',300)); // max etkinlik ekleme haritam.insert (bu, pair ('c',400)); //max etkinlik yok // Üçüncü insert fonksiyonu sürümü (aralık ekleme): map anothermap; anothermap.insert(haritam.begin(),haritam.find('c')); cout << "haritamin icerigi:\n"; for ( bu=haritam.begin() ; bu != haritam.end(); bu++ ) cout " << (*bu).second << endl; cout << "baska bir harita icerigi:\n"; for ( bu=anothermap.begin() ; bu != anothermap.end(); bu++ ) cout " << (*bu).second << endl; return 0; }
25
key_comp • T uşları karşılaştırıp döndüren fonksiyondur
26
int main () { map haritam; map ::key_compare mycomp; map ::iterator bu; char ust; mycomp = haritam.key_comp(); haritam['a']=100; haritam['b']=200; haritam['c']=300; cout << "haritamin icerigi:\n"; ust=haritam.rbegin()->first; // son elemaın anahtar degeri bu=haritam.begin(); do { cout " << (*bu).second << endl; } while ( mycomp((*bu++).first, ust) ); cout << endl; return 0;}
27
lower_bound • find() fonksiyonuna benzer, ancak lower_bound() aranılan elemandan bir önceki değeri verir.
28
int main () { map haritam; map ::iterator bu,alt,ust; haritam['a']=20; haritam['b']=40; haritam['c']=60; haritam['d']=80; haritam['e']=100; alt=haritam.lower_bound ('b'); // alt nokta b ust=haritam.upper_bound ('d'); // ust nokta d değil haritam.erase(alt,ust); // alt ust silindi for ( bu=haritam.begin() ; bu != haritam.end(); bu++ ) cout " << (*bu).second << endl; return 0; }
29
max_size •Elemanların azami dönme sayısını tutar
30
int main () { int i; map benim; if (benim.max_size()>1000) { for (i=0; i<1000; i++) benim[i]=0; cout << "ogem 1000 den buyuktur.\n"; } else cout << "ogem 1000den kucuktur.\n"; return 0; }
31
rbegin •Harita sonuna döndüren bir reverse_iterator
32
int main () { map haritam; map ::reverse_iterator o; haritam['x'] = 100; haritam['y'] = 200; haritam['z'] = 300; for ( o=haritam.rbegin() ; o != haritam.rend(); o++ ) cout first " second << endl; return 0; }
33
rend •Harita başına dönen bir reverse_iterator
34
int main () { map haritam; map ::reverse_iterator rit; haritam['x'] = 100; haritam['y'] = 200; haritam['z'] = 300; for ( rit=haritam.rbegin() ; rit != haritam.rend(); rit++ ) cout first " second << endl; return 0; }
35
size •Harita öğelerinin sayısını verir
36
int main () { map haritam; haritam['a']=101; haritam['b']=202; haritam['c']=30; haritam['d']=101; haritam['e']=232; haritam['f']=345; cout << "haritam.size() : " << (int) haritam.size() << endl; return 0; }
37
swap •Başka bir harita içeriğini takas eder
38
int main () { map senin; map benim; map ::iterator bu; senin['x']=100; senin['y']=200; benim['a']=11; benim['b']=22; benim['c']=33; senin.swap(benim); cout << "senin elemanlarin:\n"; for ( bu=senin.begin() ; bu != senin.end(); bu++ ) cout " << (*bu).second << endl; cout << "benim elemanlarim:\n"; for ( bu=benim.begin() ; bu != benim.end(); bu++ ) cout " << (*bu).second << endl; return 0;}
39
upper_bound •find() fonksiyonuna benzer, ancak upper_bound() aranılan elemandan bir sonraki değeri verir.
40
int main () { map haritam; map ::iterator bu,alt,ust; haritam['a']=20; haritam['b']=40; haritam['c']=60; haritam['d']=80; haritam['e']=100; alt=haritam.lower_bound ('b'); // alt nokta b ust=haritam.upper_bound ('d'); // ust nokta d haritam.erase(alt,ust); // alt ve ust noktaları siler for ( bu=haritam.begin() ; bu != haritam.end(); bu++ ) cout " << (*bu).second << endl; return 0; }
41
value_comp •Değerleri karşılaştırır ve döndürür fonksiyonu
42
int main () { map haritam; map ::iterator bu; pair buyuk; haritam['x']=1001; haritam['y']=2002; haritam['z']=3003; cout << "haritamin icerigi:\n"; buyuk=*haritam.rbegin(); bu=haritam.begin(); do { cout " << (*bu).second << endl; } while ( haritam.value_comp()(*bu++, buyuk) ); return 0; }
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.