MAP SINIFI. MAP C + + da Haritalar değer çiftlerini benzersiz anahtar içeren birleşmeli konteyner olarak sıralar. Haritalar onların anahtarlarına göre.

Slides:



Advertisements
Benzer bir sunumlar
TUTKU TOURS İZMİR TOURIST MAP.
Advertisements

STRİNG FONKSİYONLARI.
KÜMELER BİRLEŞİM KESİŞİM FARK.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Yığın ve Kuyruk.
void medyan(int cevap[]) { int j; siralama(cevap);
Ders Adı: Sayısal Elektronik
Diziler.
100 SORUDA KAVRAM HARİTALARI İLE FONKSİYON ANALİZİ & MANTIK
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
C++’A GİRİŞ Yılmaz Kılıçaslan.
C++ STACK SINIFI.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
Prof. Dr. Leyla Küçükahmet
İkili Arama Ağaçları (Binary Search Trees) BST
KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR, NESNE DİZİLERİ Yılmaz Kılıçaslan.
SET SINIFI. Benzersiz elemanların olduğu yerde setler, birleşen konteynırların bir çeşididir. Bu elementler onların anahtarlarıdır. Birleşen konteynırlar.
INPUT/OUTPUT FORMATİNG
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Sisteme kaydedilen otel kartları yandaki listede görülmektedir. Burada ki kaydın üzerine çift tıklayarak otel kaydında değişiklik yapılabilir. Listenin.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
VERİ TABANI VE YÖNETİM SİSTEMLERİ  Birincil Anahtar Türleri  Access Veri Tabanında Bulunan İlişkiler  İlişkileri Tanımlama Bir – Çok İlişkisi Çok –
ALIŞTIRMALAR - 1 Sunu 1 ve Sunu 2 İçeriği
HARİTA NEDİR? Yeryüzünün tamamının veya bir parçasının kuşbakışı görünümünün, istenilen ölçeğe göre özel işaretler yardımı ile küçültülerek çizilmiş örneğidir.
Nesneye Yönelik Programlama
Nesneye Yönelik Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
PROLOG PROGRAMLAMA DİLİNDE
DENETÇİ İŞE BAŞLAMA. Bakanlığımızın Tarih ve 1315 sayılı yazısına istinaden denetçi, kontrol elemanı ve yardımcı kontrol elamanlarının yapı.
Dizi Elemanlarının Sıralanması
NESNEYE YÖNELİK PROGRAMLAMA
Numaralandırmalar(Enumaration)
C++’a Giriş Yılmaz Kılıçaslan.
JAVA’DA DİZİLER Dr.Galip AYDIN.
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
C++ Ders Notları 2.Ders (Dilin Yapısı)
C++ Ders Notları 3.Ders (String İşlemleri)
C++.
PROGRAM DENETİM DEYİMLERİ
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
Görsel C# ile Windows Programlama
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
KÜMELER KAZANIM:Bu konu 6. sınıf konusu olup bir kümeyi modelleri ile belirler, farklı temsil biçimleri ile gösterir.
Coğrafya Konuları Türkiye’de İklim İç Anadolu Bölgesi İç Kuvvetler
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
BİLGİSAYAR programlama II
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
Hafta2 Rekürsif Algoritmalar
ANAHTAR KELİMELER Arama Robotları, günümüzde en çok kullanılan arama sistemleridir. Bu tip sistemlere girildiğinde, ilk önce, anahtar kelimeleri yazabileceğimiz.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Sakarya Üniversitesi Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Prof. Dr. Ümit Kocabıçak Prof. Dr. Cemil Öz Doç. Dr. Ahmet Turan.
Fonksiyonlar ve Diziler
C Sharp 9. hafta - dIZILER.
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
Restriksiyon Endonukleaz Haritaları
Bölüm 10: Kayıtlar – Records (structs)
Kurucular(Yapıcılar), Yıkıcılar
Başlık Düzeni Alt Konu Başlığı.
Başlık Düzeni Alt Konu Başlığı.
NİŞANTAŞI ÜNİVERSİTESİ
Başlık Düzeni Alt Konu Başlığı.
Sunum transkripti:

MAP SINIFI

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.

Map Constructors & Destructors Haritalar;varsayılan yöntemleri, kopyalar ve tahsis eder.

Map operators Karşılaştırma = harita elemanlarını atamak

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; }

Map typedefs Bir harita typedefs

begin •Haritanın başlangıç elemanına dönen bir fonksiyondur.

end •Bir haritanın sadece son elemanını döndüren fonksiyondur.

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; }

clear •Haritadaki tüm unsurlarını kaldırır

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; }

count •Belirli bir anahtarla eşleşen elemanların sayısını verir

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; }

empty •Harita içeriğinin boş ya da dolu olma durumunu kontrol eden fonksiyondur.

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; }

equal_range •Sadece geçmiş son öğeleri ve belirli bir anahtarla eşleşen ilk tekrarlayıcılara döner

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; }

erase •Map sınıfında silme yapmak için erase() fonksiyonu kullanılır.

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;}

find • İstenilen elemanı bulmak için kullanılan fonksiyondur.

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; }

insert • Bir haritaya öğeler eklemek için kullanılır

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; }

//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; }

key_comp • T uşları karşılaştırıp döndüren fonksiyondur

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;}

lower_bound • find() fonksiyonuna benzer, ancak lower_bound() aranılan elemandan bir önceki değeri verir.

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; }

max_size •Elemanların azami dönme sayısını tutar

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; }

rbegin •Harita sonuna döndüren bir reverse_iterator

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; }

rend •Harita başına dönen bir reverse_iterator

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; }

size •Harita öğelerinin sayısını verir

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; }

swap •Başka bir harita içeriğini takas eder

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;}

upper_bound •find() fonksiyonuna benzer, ancak upper_bound() aranılan elemandan bir sonraki değeri verir.

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; }

value_comp •Değerleri karşılaştırır ve döndürür fonksiyonu

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; }