C ++ Kitaplığı - <list>

Giriş

Liste, popüler olarak kullanılan bir sıra kapsayıcıdır. Konteyner, aynı türdeki verileri tutan bir nesnedir. Liste kapsayıcısı, çift bağlantılı liste olarak uygulanır, dolayısıyla verilerine çift yönlü sıralı erişim sağlar.

Liste hızlı rastgele erişim sağlamaz, yalnızca her iki yönde sıralı erişimi destekler. Liste, bir dizi içinde herhangi bir yerde sabit zamanda ekleme ve silme işlemine izin verir.

Listenin öğeleri, farklı bellek parçalarına dağılabilir. Kapsayıcı, verilerine sıralı erişime izin vermek için gerekli bilgileri depolar. Listeler, çalışma zamanında her iki uçtan da gerektiği gibi küçülebilir veya genişleyebilir. Depolama gereksinimi, dahili ayırıcı tarafından otomatik olarak yerine getirilir.

Sıfır boyutlu listeler de geçerlidir. Bu durumda list.begin () ve list.end () aynı konumu gösterir. Ancak front () veya back () çağırma davranışı tanımsızdır.

Tanım

Aşağıda <list> başlık dosyasından std :: list tanımı bulunmaktadır

template < class T, class Alloc = allocator<T> > class list;

Parametreler

  • T - İçerdiği öğenin türü.

    T, kullanıcı tanımlı tür dahil olmak üzere herhangi bir başka veri türü ile ikame edilebilir.

  • Alloc - Ayırıcı nesnenin türü.

    Varsayılan olarak, en basit bellek ayırma modelini tanımlayan ve değerden bağımsız olan ayırıcı sınıfı şablonu kullanılır.

Üye türleri

Aşağıdaki üye türleri, üye işlevlere göre parametre veya dönüş türü olarak kullanılabilir.

Sr.No. Üye türleri Tanım
1 değer türü T (Şablonun ilk parametresi)
2 allocator_type Alloc (Şablonun ikinci parametresi)
3 referans değer türü&
4 const_reference const value_type &
5 Işaretçi değer türü*
6 const_pointer const değer_türü *
7 yineleyici value_type'a rastgele erişim yineleyicisi
8 const_iterator sabit değer_türü için bir rastgele erişim yineleyicisi
9 reverse_iterator std :: ters_iterator <iterator>
10 const_reverse_iterator std :: ters_iterator <const_iterator>
11 Beden Çeşidi size_t
12 fark_türü ptrdiff_t

<list> 'den işlevler

Aşağıda <list> başlığındaki tüm yöntemlerin listesi bulunmaktadır.

İnşaatçılar

Sr.No. Yöntem ve Açıklama
1 list :: list varsayılan yapıcı

Sıfır elemanlı boş bir liste oluşturur.

2 list :: list fill yapıcısı

N elemanlı yeni bir liste oluşturur ve listenin her bir elemanına val atar .

3 list :: list fill yapıcısı

N elemanlı yeni bir liste oluşturur ve listenin her elemanına sıfır değeri atar.

4 list :: list aralığı yapıcısı

Aralığında gibi birçok öğe olarak içeren bir liste oluşturur ilk için son .

5 list :: list copy yapıcısı

Mevcut listede bulunan her bir öğenin kopyasıyla bir liste oluşturur.

6 list :: list hareket yapıcısı

Hareket anlamını kullanarak diğerlerinin içerikleriyle bir liste oluşturur .

7 list :: list başlatıcı liste yapıcısı

Hareket anlamını kullanarak diğerlerinin içerikleriyle bir liste oluşturur .

Yıkıcı

Sr.No. Yöntem ve Açıklama
1 liste :: ~ liste

Listenin belleğini serbest bırakarak liste nesnesini yok eder.

Üye fonksiyonları

Sr.No. Yöntem ve Açıklama
1 list :: aralık sürümünü ata

Eski değerleri değiştirerek listeye yeni değer atar.

2 list :: dolgu sürümünü ata

Eski değerleri değiştirerek listeye yeni değerler atar.

3 list :: başlatıcı listesi sürümünü ata

Eski değerleri değiştirerek listeye yeni değerler atar.

4 liste :: geri

Listenin son öğesine bir başvuru döndürür.

5 list :: begin

Listenin ilk öğesine işaret eden bir rastgele erişim yineleyicisi döndürür.

6 liste :: cbegin

Listenin başlangıcına işaret eden sabit bir rasgele erişim yineleyicisi döndürür.

7 list :: cend

Listenin sonuna işaret eden sabit bir rasgele erişim yineleyicisi döndürür.

8 liste :: temizle

Listedeki tüm öğeleri kaldırarak listeyi yok eder ve listenin boyutunu sıfır olarak ayarlar.

9 liste :: crbegin

Listenin son öğesine işaret eden sabit bir ters yineleyici döndürür.

10 liste :: crend

Listedeki ilk öğeden önceki teorik öğeye işaret eden sabit bir ters yineleyici döndürür.

11 liste :: yerleştirmek

Belirli bir konuma yeni eleman ekleyerek listeyi genişletir.

12 list :: emplace_back

Listenin sonuna yeni eleman ekler ve listenin boyutunu birer birer artırır.

13 liste :: emplace_front

Listenin başına yeni eleman ekler ve listenin boyutunu birer birer artırır.

14 liste :: boş

Listenin boş olup olmadığını test eder.

15 list :: end

Listenin son öğesine işaret eden bir rastgele erişim yineleyicisi döndürür.

16 list :: pozisyon versiyonunu sil

Listeden tek bir öğeyi kaldırır.

17 list :: aralık sürümünü sil

Listeden eleman aralığını kaldırır.

18 liste :: ön

Listenin ilk öğesine bir başvuru döndürür.

19 list :: get_allocator

Listeyle ilişkili bir ayırıcı döndürür

20 list :: tek elemanlı versiyon ekle

Listedeki konuma yeni eleman ekleyerek yineleyiciyi genişletir .

21 list :: dolgu versiyonu ekle

Konteynere yeni öğeler ekleyerek listeyi genişletir.

22 list :: aralık versiyonu ekle

Konteynere yeni öğeler ekleyerek listeyi genişletir.

23 list :: taşıma versiyonu ekle

Konteynere yeni eleman ekleyerek listeyi genişletir.

24 list :: başlatıcı listesi sürümü ekle

Konteynere yeni öğeler ekleyerek listeyi genişletir

25 list :: max_size

Listeye göre tutulabilecek maksimum öğe sayısını döndürür.

26 list :: birleştirme

Sıralanmış iki listeyi tek bir listede birleştirir.

27 list :: karşılaştırma işlevi birleştir

Sıralanmış iki listeyi tek bir listede birleştirir.

28 list :: birleştirme taşı sürümü

Taşıma semantiğini kullanarak iki sıralı listeyi tek bir listede birleştirir.

29 list :: birleştirme karşılaştırma işlevi sürümü taşı

Taşıma semantiğini kullanarak iki sıralı listeyi tek bir listede birleştirir.

30 list :: operator = sürümü kopyala

Eski içerikleri değiştirerek listeye yeni içerik atar.

31 list :: operator = sürümü taşı

Eski içerikleri değiştirerek listeye yeni içerik atayın.

32 list :: operator = başlatıcı listesi sürümü

Eski içerikleri değiştirerek listeye yeni içerik atayın.

33 liste :: pop_back

Listeden son elemanı kaldırır.

34 liste :: pop_front

Listeden ilk öğeyi kaldırır.

35 liste :: push_back

Listenin sonuna yeni eleman ekler.

36 list :: push_back taşıma sürümü

Listenin sonuna yeni eleman ekler.

37 list :: push_front

Listenin başına yeni eleman ekler.

38 list :: push_front taşıma sürümü

Listenin başına yeni eleman ekler.

39 liste :: rbegin

Listenin son öğesine işaret eden bir ters yineleyici döndürür.

40 liste :: kaldır

, değerle eşleşen listeden öğeleri kaldırır.

41 list :: remove_if

koşulu karşılayan öğeleri listeden kaldırır.

42 list :: rend

Listenin ters ucunu gösteren bir ters yineleyici döndürür.

43 liste :: yeniden boyutlandır

Listenin boyutunu değiştirir.

44 list :: değer sürümünü yeniden boyutlandır

Listenin boyutunu değiştirir.

45 liste :: ters

Listede bulunan öğelerin sırasını tersine çevirir.

46 liste :: boyut

Listede bulunan öğelerin sayısını döndürür.

47 list :: sort

Listenin öğelerini sıralar.

48 list :: sort karşılaştırma işlevi

Listenin öğelerini sıralar.

49 list :: splice

Listedeki tüm öğeleri * buna aktarır.

50 list :: tek elemanı birleştir

Transferler bir unsur Yineleyici tarafından işaret i listesinden x içine * Bu .

51 list :: splice taşıma sürümü

Transferler listesindeki tüm öğeleri x etmek * Bu hamle semantiğini kullanarak.

52 list :: splice aralığı versiyonu

Aralığındaki Transferler unsurları birinci üzere son gelen x için * Bu .

53 list :: splice tek elemanlı taşıma versiyonu

Transferler eleman Yineleyici tarafından işaret i listesinden x içine bu * hareket semantiğini kullanarak.

54 list :: aralığı ekleme ve sürümü taşıma

Aralığındaki Transferler unsurları birinci üzere son gelen x için bu * hamle semantiğini kullanarak.

55 liste :: takas

Listenin içeriğini başka bir x listesinin içeriğiyle değiştirir .

56 liste :: benzersiz

Art arda gelen tüm yinelenen öğeleri listeden kaldırır.

57 liste :: benzersiz

Art arda gelen tüm yinelenen öğeleri listeden kaldırır.

Üye olmayan aşırı yüklenmiş işlevler

Sr.No. Yöntem ve Açıklama
1 operatör ==

İki listenin eşit olup olmadığını test eder.

2 operatör! =

İki listenin eşit olup olmadığını test eder.

3 operatör <

İlk listenin diğerinden az olup olmadığını test eder.

4 operatör <=

İlk listenin diğerinden küçük veya diğerine eşit olup olmadığını test eder.

5 operatör>

İlk listenin diğerinden büyük olup olmadığını test eder.

6 operatör> =

İlk listenin diğerinden büyük veya diğerine eşit olup olmadığını test eder.

7 takas

İki listenin içeriğini değiştirir.