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. |