1 / 22

BPR152 ALGORİTMA VE PROGRAMLAMA - II

BPR152 ALGORİTMA VE PROGRAMLAMA - II. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul. Konular. Listeler Tanımlama Eleman ekleme Elemanlara erişme Sık kullanılan metotlar. List <T>.

sven
Download Presentation

BPR152 ALGORİTMA VE PROGRAMLAMA - II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul

  2. Konular • Listeler • Tanımlama • Eleman ekleme • Elemanlara erişme • Sık kullanılan metotlar

  3. List<T> • Türü belirtilerek, indeks ile erişilebilen sınırsız eleman içerebilen bir dizi olarak tanımlanabilir. • Boyutları sabit değildir, eleman ekledikçe boyutları dinamik olarak artar. • Listelerde dizilerdeki gibi sıralama, arama, düzenleme işlemleri yapılabilir. • Listelerde daha fazla özgürlük vardır. • Listeleri kullanabilmek için programın başına aşağıdaki satır eklenmelidir: • usingSystem.Collections.Generic;

  4. Liste Tanımlama • List<tip> liste = newList<tip> (); • List<tip> liste = newList<tip>(kapasite); • List<tip> liste = newList<tip>(new tip[]{…,…,…}); Şekillerinde tanımlamalar yapılabilir: // liste1’e int türünden değerler eklenebilir List<int> liste1 = newList<int>(); // liste2’ye float türünden değerler eklenebilir. // Başlangıç kapasitesi 10 eleman ancak eleman sayısı 10’nu aşınca // kapasite dinamik olarak arttırılacaktır. List<float> liste2 = newList<float>(10); // liste3’e double türünden değerler eklenebilir. // Başlangıçtaki değerler verilmiş, // ancak istenilen kadar daha değer eklenebilir. List<double> liste3 = newList<double>(newdouble[] { 12, 23, 34, 45, 56, 67, 78 });

  5. Listelere eleman ekleme: // listeye int türünden değerler eklenebilir List<int> liste = newList<int>(); // listeye ayrı ayrı üç sayı eklenmektedir. liste.Add(12); liste.Add(23); liste.Add(34); // listeye bir defada birden sayı ekleniyor. liste.AddRange(newint[] { 45, 56, 67 }); // yeni bir liste tanımlanıyor. List<int> lst = newList<int>(); lst.Add(1); lst.Add(2); lst.Add(3); // bir listeye aynı türden başka // bir listenin elemanları eklenebilir. liste.AddRange(lst); // bir dizi tanımlanıyor. int[] dizi = { 12, 23, 45 }; // bir listeye aynı türden // bir dizinin elemanları eklenebilir. liste.AddRange(dizi); • Add() • AddRange() Metodları kullanılır:

  6. Listelerin elemanlarına erişme: • Listelerin elemanlarına index vasıtasıyla erişilebilir: • Liste[index] for (int i = 0; i < liste.Count; i++) { Console.WriteLine(liste[i]); } Count listenin anlık eleman sayısını verir. foreach (int e in liste) { Console.WriteLine(e); } Liste elamanlarına readonlyolarak foreachdöngüsü ile de erişilebilir.

  7. Listelerde en çok kullanılan metotlar: • Clear( ) • Contains( ) • CopyTo( ) • IndexOf( ) • LastIndexOf( ) • Insert( ) • InsertRange( ) • Remove( ) • RemoveAt( ) • RemoveRange( ) • Reverse( ) • Sort( ) • ToArray( )

  8. Clear() • Listedeki tüm elemanları silmek için kullanılır. • Listedeki tüm elemanlar silinecektir. // listedeki tüm elemanları siler liste.Clear();

  9. Contains() • Listede bir elemanın olup olmadığına bakmak için kullanılır. • Sonuç trueveya falseolur. • // şehirler adında bir liste tanımlanıyor • List<string> Şehirler = newList<string>(); • // şehirler listesine bazı şehirler ekleniyor • Şehirler.Add("Ankara"); • Şehirler.Add("İstanbul"); • ... • // şehirler listesine daha fazla şehrin eklendiğini varsayalım… • // Bartın’ın eklenmiş olup olmadığına bak. • // Eğer eklenmiş ise "zaten eklenmiş" diye uyar, eklenmemiş ise ekle. • if (Şehirler.Contains("Bartın") == true) • Console.WriteLine("Bartın zaten eklenmiş"); • else • Şehirler.Add("Bartın");

  10. CopyTo() • Listeyi veya listedeki bazı elemanları aynı tipten başka bir diziye kopyalar. • Üç farklı kullanımı var: • CopyTo(dizi); • CopyTo(dizi, dizi_indexi); • CopyTo(index, dizi, dizi_indexi, adet) // bir int listesi oluşturuluyor ve rakamlar ekleniyor. List<int> liste = newList<int>(); liste.AddRange(newint[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); int[] dizi = newint[20]; // bir int dizisi tanımlanıyor. // listenin elemanları diziye kopyalanıyor. liste.CopyTo(dizi); // listenin elemanları dizinin 3. indexindensonraya kopyalanıyor. liste.CopyTo(dizi, 3); // listenin 2. indexinden sonraki 5 elamanı dizinin 4. indexindensonraya kopyalanıyor. liste.CopyTo(2, dizi, 4, 5);

  11. IndexOf() • Listeki herhangi bir elemanın ilk index değerini bulur. • Bu eleman birden fazla kez eklenmiş ise ilk index değeri bulunur. • Bu eleman listede hiç yoksa index değeri -1 olur. // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // şehirlerden "Bartın" ınilk indexiaranıyor. int index = Şehirler.IndexOf("Bartın"); // index 2 olur. // şehirlerden "Karabük" ün indexi aranıyor. index = Şehirler.IndexOf("Karabük"); // index -1 olur.

  12. LastIndexOf() • Listeki herhangi bir elemanın son index değerini bulur. • Bu eleman sadece bir kez eklenmiş ise ilk index değeri bulunur. • Bu eleman listede hiç yoksa index değeri -1 olur. // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // şehirlerden "Bartın" ınson indexiaranıyor. int index = Şehirler.LastIndexOf("Bartın"); // index 8 olur. // şehirlerden "Karabük" ün indexi aranıyor. index = Şehirler.LastIndexOf("Karabük"); // index -1 olur.

  13. Insert() • Listenin belirtilen bir yerine eleman eklemek için kullanılır. (araya eleman ekleme) • Araya eleman eklenirken eklenecek index ile beraber belirtilir. • Belirtilen index listede yoksa hata verir! // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // 2. indexe "Ankara" ile "Bartın" arasına "Karabük" eklenecek. Şehirler.Insert(2,"Karabük"); // Listenin en başına "Mersin" eklenecek. Şehirler.Insert(0, "Mersin");

  14. InsertRange() • Listenin belirtilen bir yerine birden fazla eleman eklemek için kullanılır. • Elemanlar eklenirken eklenecek başlangıç indexi ile beraber belirtilir. • Belirtilen index listede yoksa hata verir! // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // belirtilen şehirler 3. indexe "Bartın" ile "İstanbul" arasına eklenecek. Şehirler.InsertRange(3, newstring[]{"Van", "Muş", "Kars"}); // belirtilen şehirler listenin en başına eklenecek. Şehirler.InsertRange(0, newstring[] { "Ordu", "Mardin", "Bursa" });

  15. Remove() • Listeden belirtilen bir elemanın silinmesi sağlanır. • Eleman listede birden fazla kez tekrarlanıyorsa sadece ilk geçtiği yerden silinir. • Tümü silinmek isteniyorsa döngü kullanılabilir. • Belirtilen eleman listede yoksa sorun olmaz. // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // sadece 2. index teki "Bartın" silinecek. Şehirler.Remove("Bartın"); // şehirler listesinde "Bartın" olduğu sürece sil while (Şehirler.Contains("Bartın") == true) { Şehirler.Remove("Bartın"); }

  16. RemoveAt() • Listeden belirtilen index teki bir elemanın silinmesi sağlanır. • Belirtilen index listede yoksa hata verir! // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // sadece 2. index teki "Bartın" silinecektir. Şehirler.RemoveAt(2);

  17. RemoveRange() • Listeden belirtilen index ten beşlayarak belirli sayıda elemanın silinmesi sağlanır. • Başlangıç indexi ve silinecek adet beraber belirtilir. • Belirtilen index listede yoksa hata verir! // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // listeden 2. index teki "Bartın" dan başlayıp // 3 tane şehir ("Bartın", "İstanbul", "Zonguldak") silinecektir. Şehirler.RemoveRange(2, 3);

  18. Reverse() • Listedeki elemanların sırasını tersine çevirir. // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // liste tersine çevir Şehirler.Reverse(); // elemanları ekrana yazdır. foreach(string s in Şehirler) Console.WriteLine(s); Denizli Bartın Kayseri Trabzon Rize Zonguldak İstanbul Bartın Ankara Adana

  19. Sort() • Listenin elemanlarını sıralar. • Sayısal elemanları küçükten büyüğe sıralar (09) • Alfabetik elemanları harf sırasına göre sıralar. (AZ) // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // listeyi sırala Şehirler.Sort(); // elemanları ekrana yazdır. foreach(string s in Şehirler) Console.WriteLine(s); Adana Ankara Bartın Bartın Denizli İstanbul Kayseri Rize Trabzon Zonguldak

  20. ZA Sıralama • Listenin elemanlarını büyükten küçüğe veya Z’den A’ya sıralamak istersek ne yapmalıyız. // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // listeyi A'dan Z'ye sırala Şehirler.Sort(); // liste tersine çevir Şehirler.Reverse(); // elemanları ekrana yazdır. foreach(string s in Şehirler) Console.WriteLine(s); Zonguldak Trabzon Rize Kayseri İstanbul Denizli Bartın Bartın Ankara Adana

  21. ToArray() • Listeyi diziye çevirir. // şehirler adında bir string listesi oluşturuluyor. List<string> Şehirler = newList<string>(); // bu listeye bazı şehirler ekleniyor. Şehirler.AddRange(newstring[]{ "Adana", "Ankara", "Bartın", "İstanbul", "Zonguldak", "Rize", "Trabzon", "Kayseri", "Bartın", "Denizli"}); // listeyi diziye çevir. string[] dizi = Şehirler.ToArray(); // dizinin eleman sayısı listenin eleman sayısı kadar // olacak ve listenin elemanları diziye geçecektir.

  22. Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL

More Related