Aracılığıyla paylaş


CAtlList Sınıfı

Bu sınıf, liste nesnesi oluşturmak ve yönetmek için yöntemler sağlar.

Sözdizimi

template<typename E, class ETraits = CElementTraits<E>>
class CAtlList

Parametreler

E
Öğe türü.

ETraits
Öğeleri kopyalamak veya taşımak için kullanılan kod. Daha fazla ayrıntı için bkz . CElementTraits Sınıfı .

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
CAtlList::INARGTYPE

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CAtlList::CAtlList Oluşturucu.
CAtlList::~CAtlList Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CAtlList::AddHead Listenin başına bir öğe eklemek için bu yöntemi çağırın.
CAtlList::AddHeadList Listenin başına var olan bir listeyi eklemek için bu yöntemi çağırın.
CAtlList::AddTail Bu listenin kuyruğuna bir öğe eklemek için bu yöntemi çağırın.
CAtlList::AddTailList Bu listenin kuyruğuna var olan bir listeyi eklemek için bu yöntemi çağırın.
CAtlList::AssertValid Listenin geçerli olduğunu onaylamak için bu yöntemi çağırın.
CAtlList::Find Belirtilen öğe için listede arama yapmak için bu yöntemi çağırın.
CAtlList::FindIndex Dizin değeri verilen bir öğenin konumunu almak için bu yöntemi çağırın.
CAtlList::GetAt Öğesini listede belirtilen bir konumda döndürmek için bu yöntemi çağırın.
CAtlList::GetCount Listedeki nesne sayısını döndürmek için bu yöntemi çağırın.
CAtlList::GetHead Listenin başındaki öğesini döndürmek için bu yöntemi çağırın.
CAtlList::GetHeadPosition Listenin başı konumunu almak için bu yöntemi çağırın.
CAtlList::GetNext Listeden sonraki öğeyi döndürmek için bu yöntemi çağırın.
CAtlList::GetPrev Listeden önceki öğeyi döndürmek için bu yöntemi çağırın.
CAtlList::GetTail Listenin kuyruğundaki öğesini döndürmek için bu yöntemi çağırın.
CAtlList::GetTailPosition Listenin kuyruğunun konumunu almak için bu yöntemi çağırın.
CAtlList::InsertAfter Belirtilen konumdan sonra listeye yeni bir öğe eklemek için bu yöntemi çağırın.
CAtlList::InsertBefore Belirtilen konumdan önce listeye yeni bir öğe eklemek için bu yöntemi çağırın.
CAtlList::IsEmpty Listenin boş olup olmadığını belirlemek için bu yöntemi çağırın.
CAtlList::MoveToHead Belirtilen öğeyi listenin başına taşımak için bu yöntemi çağırın.
CAtlList::MoveToTail Belirtilen öğeyi listenin kuyruğuna taşımak için bu yöntemi çağırın.
CAtlList::RemoveAll Listedeki tüm öğeleri kaldırmak için bu yöntemi çağırın.
CAtlList::RemoveAt Listeden tek bir öğeyi kaldırmak için bu yöntemi çağırın.
CAtlList::RemoveHead Listenin başındaki öğesini kaldırmak için bu yöntemi çağırın.
CAtlList::RemoveHeadNoReturn Bir değer döndürmeden listenin başındaki öğesini kaldırmak için bu yöntemi çağırın.
CAtlList::RemoveTail Listenin kuyruğundaki öğesini kaldırmak için bu yöntemi çağırın.
CAtlList::RemoveTailNoReturn Bir değer döndürmeden listenin sonundaki öğesini kaldırmak için bu yöntemi çağırın.
CAtlList::SetAt Öğesinin değerini listede belirli bir konumda ayarlamak için bu yöntemi çağırın.
CAtlList::SwapElements Listedeki öğeleri değiştirmek için bu yöntemi çağırın.

Açıklamalar

sınıfı, CAtlList sıralı olarak veya değere göre erişilebilen sıralı nonunique nesne listelerini destekler. CAtlList listeler, ikiye kat bağlantılı listeler gibi davranır. Her listenin başı ve kuyruğu vardır ve listenin sonuna yeni öğeler (veya bazı durumlarda listeler) eklenebilir ya da belirli öğelerden önce veya sonra eklenebilir.

Yöntemlerin CAtlList çoğu konum değerini kullanır. Bu değer, yöntemleri tarafından öğelerin depolandığı gerçek bellek konumuna başvurmak için kullanılır ve doğrudan hesaplanmaması veya tahmin edilmemesi gerekir. Listedeki n. öğeye erişmek gerekiyorsa, CAtlList::FindIndex yöntemi belirli bir dizin için karşılık gelen konum değerini döndürür. CAtlList::GetNext ve CAtlList::GetPrev yöntemleri listedeki nesneler arasında yineleme yapmak için kullanılabilir.

ATL ile kullanılabilen koleksiyon sınıfları hakkında daha fazla bilgi için bkz . ATL Koleksiyon Sınıfları.

Gereksinimler

Üst bilgi: atlcoll.h

CAtlList::AddHead

Listenin başına bir öğe eklemek için bu yöntemi çağırın.

POSITION AddHead();
POSITION AddHead(INARGTYPE element);

Parametreler

öğe
Yeni öğe.

Dönüş Değeri

Yeni eklenen öğenin konumunu döndürür.

Açıklamalar

İlk sürüm kullanılırsa, kopya oluşturucu yerine varsayılan oluşturucu kullanılarak boş bir öğe oluşturulur.

Örnek

// Declare a list of integers
CAtlList<int> myList;

// Add some elements, each to the head of the list.
// As each new element is added, the previous head is
// pushed down the list.
myList.AddHead(42);
myList.AddHead(49);

// Confirm the value currently at the head of the list
ATLASSERT(myList.GetHead() == 49);

// Confirm the value currently at the tail of the list
ATLASSERT(myList.GetTail() == 42);   

CAtlList::AddHeadList

Listenin başına var olan bir listeyi eklemek için bu yöntemi çağırın.

void AddHeadList(const CAtlList<E, ETraits>* plNew);

Parametreler

plNew
Eklenecek liste.

Açıklamalar

plNew tarafından işaret edilen liste, var olan listenin başına eklenir. Hata ayıklama derlemelerinde, plNew null değerine eşitse bir onaylama hatası oluşur.

Örnek

// Define two lists of integers
CAtlList<int> myList1;
CAtlList<int> myList2;

// Fill up the first list
myList1.AddTail(1);
myList1.AddTail(2);
myList1.AddTail(3);

// Add an element to the second list
myList2.AddTail(4);

// Insert the first list into the second
myList2.AddHeadList(&myList1);

// The second list now contains:
// 1, 2, 3, 4   

CAtlList::AddTail

Bu listenin kuyruğuna bir öğe eklemek için bu yöntemi çağırın.

POSITION AddTail();
POSITION AddTail(INARGTYPE element);

Parametreler

öğe
Eklenecek öğe.

Dönüş Değeri

Yeni eklenen öğenin POSITION değerini döndürür.

Açıklamalar

İlk sürüm kullanılırsa, kopya oluşturucu yerine varsayılan oluşturucu kullanılarak boş bir öğe oluşturulur. öğesi listenin sonuna eklenir ve artık kuyruk haline gelir. Bu yöntem boş bir listeyle kullanılabilir.

Örnek

// Define the list
CAtlList<int> myList;

// Add elements to the tail
myList.AddTail(1);
myList.AddTail(2);
myList.AddTail(3);

// Confirm the current head of the list
ATLASSERT(myList.GetHead() == 1);

// Confirm the current tail of the list
ATLASSERT(myList.GetTail() == 3);   

CAtlList::AddTailList

Bu listenin kuyruğuna var olan bir listeyi eklemek için bu yöntemi çağırın.

void AddTailList(const CAtlList<E, ETraits>* plNew);

Parametreler

plNew
Eklenecek liste.

Açıklamalar

plNew tarafından işaret edilen liste, liste nesnesindeki son öğeden (varsa) sonra eklenir. Bu nedenle plNew listesindeki son öğe kuyruk olur. Hata ayıklama derlemelerinde, plNew null değerine eşitse bir onaylama hatası oluşur.

Örnek

// Define two integer lists
CAtlList<int> myList1;
CAtlList<int> myList2;

// Fill up the first list
myList1.AddTail(1);
myList1.AddTail(2);
myList1.AddTail(3);

// Add an element to the second list
myList2.AddTail(4);

// Insert the first list into the second
myList2.AddTailList(&myList1);

// The second list now contains:
// 4, 1, 2, 3   

CAtlList::AssertValid

Listenin geçerli olduğunu onaylamak için bu yöntemi çağırın.

void AssertValid() const;

Açıklamalar

Hata ayıklama derlemelerinde, liste nesnesi geçerli değilse onay hatası oluşur. Geçerli olması için, boş bir listede hem baş hem de kuyruk NULL'a işaret etmelidir ve boş olmayan bir listede hem baş hem de kuyruk geçerli adreslere işaret etmelidir.

Örnek

// Define the list
CAtlList<int> myList;

// AssertValid only exists in debug builds
#ifdef _DEBUG
myList.AssertValid();
#endif   

CAtlList::CAtlList

Oluşturucu.

CAtlList(UINT nBlockSize = 10) throw();

Parametreler

nBlockSize
Blok boyutu.

Açıklamalar

Nesnenin oluşturucusunun CAtlList . Blok boyutu, yeni bir öğe gerektiğinde ayrılan bellek miktarının ölçüsüdür. Daha büyük blok boyutları bellek ayırma yordamlarına yapılan çağrıları azaltır, ancak daha fazla kaynak kullanır.

Örnek

// Define two lists
CAtlList<int> myList1;
CAtlList<double> myList2;   

CAtlList::~CAtlList

Yok edici.

~CAtlList() throw();

Açıklamalar

Tüm öğeleri listeden kaldırmak için CAtlList::RemoveAll çağrısı da dahil olmak üzere ayrılan tüm kaynakları serbest kaldırır.

Hata ayıklama derlemelerinde, listede çağrısından RemoveAllsonra hala bazı öğeler varsa onay hatası oluşur.

CAtlList::Find

Belirtilen öğe için listede arama yapmak için bu yöntemi çağırın.

POSITION Find(INARGTYPE element, POSITION posStartAfter = NULL) const throw();

Parametreler

öğe
Listede bulunabilecek öğe.

posStartAfter
Aramanın başlangıç konumu. Değer belirtilmezse, arama baş öğesiyle başlar.

Dönüş Değeri

Bulunursa öğesinin POSITION değerini döndürür, aksi takdirde NULL döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, liste nesnesi geçerli değilse veya posStartAfter değeri aralık dışındaysa onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(100);
myList.AddTail(200);
myList.AddTail(300);
myList.AddTail(400);

// Find the '300' element in the list,
// starting from the list head.
POSITION myPos = myList.Find(300);

// Confirm that the element was found
ATLASSERT(myList.GetAt(myPos) == 300);   

CAtlList::FindIndex

Dizin değeri verilen bir öğenin konumunu almak için bu yöntemi çağırın.

POSITION FindIndex(size_t iElement) const throw();

Parametreler

iElement
Gerekli liste öğesinin sıfır tabanlı dizini.

Dönüş Değeri

karşılık gelen POSITION değerini veya iElement aralık dışındaysa NULL değerini döndürür.

Açıklamalar

Bu yöntem belirli bir dizin değerine karşılık gelen POSITION değerini döndürür ve listedeki n. öğeye erişim sağlar.

Hata ayıklama derlemelerinde, liste nesnesi geçerli değilse onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
for (int i = 0; i < 100; i++)
{
   myList.AddTail(i);
}

// Iterate through the entire list
for (size_t j = 0; j < myList.GetCount(); j++)
{
   size_t i = myList.GetAt(myList.FindIndex(j));
   ATLASSERT(i == j);
}   

CAtlList::GetAt

Öğesini listede belirtilen bir konumda döndürmek için bu yöntemi çağırın.

E& GetAt(POSITION pos) throw();
const E& GetAt(POSITION pos) const throw();

Parametreler

Pos
Belirli bir öğeyi belirten POSITION değeri.

Dönüş Değeri

öğesine başvuru veya kopyası.

Açıklamalar

Liste ise const, GetAt öğesinin bir kopyasını döndürür. Bu, yöntemin yalnızca atama deyiminin sağ tarafında kullanılmasını sağlar ve listeyi değişiklikten korur.

Liste değilse const, GetAt öğesine bir başvuru döndürür. Bu, yönteminin atama deyiminin her iki tarafında kullanılmasını sağlar ve bu nedenle liste girdilerinin değiştirilmesini sağlar.

Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onaylama hatası oluşur.

Örnek

CAtlList::FindIndex örneğine bakın.

CAtlList::GetCount

Listedeki nesne sayısını döndürmek için bu yöntemi çağırın.

size_t GetCount() const throw();

Dönüş Değeri

Listedeki öğe sayısını döndürür.

Örnek

CAtlList::Find örneğine bakın.

CAtlList::GetHead

Listenin başındaki öğesini döndürmek için bu yöntemi çağırın.

E& GetHead() throw();
const E& GetHead() const throw();

Dönüş Değeri

Listenin başındaki öğeye başvuru veya kopyasını döndürür.

Açıklamalar

Liste ise const, GetHead listenin başındaki öğenin bir kopyasını döndürür. Bu, yöntemin yalnızca atama deyiminin sağ tarafında kullanılmasını sağlar ve listeyi değişiklikten korur.

Liste değilse const, GetHead listenin başındaki öğeye bir başvuru döndürür. Bu, yönteminin atama deyiminin her iki tarafında kullanılmasını sağlar ve bu nedenle liste girdilerinin değiştirilmesini sağlar.

Hata ayıklama derlemelerinde, listenin başı NULL'a işaret ederse onay hatası oluşur.

Örnek

CAtlList::AddHead örneğine bakın.

CAtlList::GetHeadPosition

Listenin başı konumunu almak için bu yöntemi çağırın.

POSITION GetHeadPosition() const throw();

Dönüş Değeri

Listenin başındaki öğeye karşılık gelen POSITION değerini döndürür.

Açıklamalar

Liste boşsa, döndürülen değer NULL olur.

Örnek

// Define the integer list
CAtlList<int> myList;
int i;

// Populate the list
for (i = 0; i < 100; i++)
{
   myList.AddTail(i);
}

// Get the starting position value
POSITION myPos = myList.GetHeadPosition();

// Iterate through the entire list
i = 0;
int j;

do {
   j = myList.GetNext(myPos);
   ATLASSERT(i == j);
   i++;
} while (myPos != NULL);   

CAtlList::GetNext

Listeden sonraki öğeyi döndürmek için bu yöntemi çağırın.

E& GetNext(POSITION& pos) throw();
const E& GetNext(POSITION& pos) const throw();

Parametreler

Pos
Önceki bir çağrısı GetNexttarafından döndürülen bir POSITION değeri, CAtlList::GetHeadPosition veya başka bir CAtlList yöntem.

Dönüş Değeri

Liste ise const, GetNext listenin sonraki öğesinin bir kopyasını döndürür. Bu, yöntemin yalnızca atama deyiminin sağ tarafında kullanılmasını sağlar ve listeyi değişiklikten korur.

Liste değilse const, GetNext listenin sonraki öğesine bir başvuru döndürür. Bu, yönteminin atama deyiminin her iki tarafında kullanılmasını sağlar ve bu nedenle liste girdilerinin değiştirilmesini sağlar.

Açıklamalar

POSITION sayacı, pos, listedeki bir sonraki öğeye işaret etmek için güncelleştirilir veya başka öğe yoksa NULL olur. Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onaylama hatası oluşur.

Örnek

CAtlList::GetHeadPosition örneğine bakın.

CAtlList::GetPrev

Listeden önceki öğeyi döndürmek için bu yöntemi çağırın.

E& GetPrev(POSITION& pos) throw();
const E& GetPrev(POSITION& pos) const throw();

Parametreler

Pos
Önceki bir çağrısı GetPrevtarafından döndürülen bir POSITION değeri, CAtlList::GetTailPosition veya başka bir CAtlList yöntem.

Dönüş Değeri

Liste ise const, GetPrev liste öğesinin bir kopyasını döndürür. Bu, yöntemin yalnızca atama deyiminin sağ tarafında kullanılmasını sağlar ve listeyi değişiklikten korur.

Liste değilse const, GetPrev listenin bir öğesine başvuru döndürür. Bu, yönteminin atama deyiminin her iki tarafında kullanılmasını sağlar ve bu nedenle liste girdilerinin değiştirilmesini sağlar.

Açıklamalar

POSITION sayacı, pos, listedeki önceki öğeye işaret etmek için veya başka öğe yoksa NULL olarak güncelleştirilir. Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onaylama hatası oluşur.

Örnek

CAtlList::GetTailPosition örneğine bakın.

CAtlList::GetTail

Listenin kuyruğundaki öğesini döndürmek için bu yöntemi çağırın.

E& GetTail() throw();
const E& GetTail() const throw();

Dönüş Değeri

Listenin sonundaki öğeye başvuru veya kopyasını döndürür.

Açıklamalar

Liste ise const, GetTail listenin başındaki öğenin bir kopyasını döndürür. Bu, yöntemin yalnızca atama deyiminin sağ tarafında kullanılmasını sağlar ve listeyi değişiklikten korur.

Liste değilse const, GetTail listenin başındaki öğeye bir başvuru döndürür. Bu, yönteminin atama deyiminin her iki tarafında kullanılmasını sağlar ve bu nedenle liste girdilerinin değiştirilmesini sağlar.

Hata ayıklama derlemelerinde, listenin kuyruğu NULL'a işaret ederse onay hatası oluşur.

Örnek

CAtlList::AddTail örneğine bakın.

CAtlList::GetTailPosition

Listenin kuyruğunun konumunu almak için bu yöntemi çağırın.

POSITION GetTailPosition() const throw();

Dönüş Değeri

Listenin sonundaki öğeye karşılık gelen POSITION değerini döndürür.

Açıklamalar

Liste boşsa, döndürülen değer NULL olur.

Örnek

// Define the integer list
CAtlList<int> myList;
int i;

// Populate the list
for (i = 0; i < 100; i++)
{
   myList.AddHead(i);
}

// Get the starting position value
POSITION myP = myList.GetTailPosition();

// Iterate through the entire list
i = 0;
int j;

do {
   j = myList.GetPrev(myP);
   ATLASSERT(i == j);
   i++;
} while (myP != NULL);   

CAtlList::INARGTYPE

Bir öğe giriş bağımsız değişkeni olarak geçirildiğinde kullanılan tür.

typedef ETraits::INARGTYPE INARGTYPE;

CAtlList::InsertAfter

Belirtilen konumdan sonra listeye yeni bir öğe eklemek için bu yöntemi çağırın.

POSITION InsertAfter(POSITION pos, INARGTYPE element);

Parametreler

Pos
Yeni öğenin eklendiği POSITION değeri.

öğe
Eklenecek öğe.

Dönüş Değeri

Yeni öğenin POSITION değerini döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, liste geçerli değilse, ekleme başarısız olursa veya öğeyi kuyruk sonrasında ekleme girişiminde bulunulması durumunda onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
POSITION myPos = myList.AddHead(1);
myPos = myList.InsertAfter(myPos, 2);
myPos = myList.InsertAfter(myPos, 3);

// Confirm the tail value is as expected
ATLASSERT(myList.GetTail() == 3);   

CAtlList::InsertBefore

Belirtilen konumdan önce listeye yeni bir öğe eklemek için bu yöntemi çağırın.

POSITION InsertBefore(POSITION pos, INARGTYPE element);

Parametreler

Pos
Yeni öğe, bu POSITION değerinden önce listeye eklenir.

öğe
Eklenecek öğe.

Dönüş Değeri

Yeni öğenin POSITION değerini döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, liste geçerli değilse, ekleme başarısız olursa veya öğeyi kafadan önce ekleme girişiminde bulunulması durumunda onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
POSITION myPos = myList.AddHead(1);
myPos = myList.InsertBefore(myPos, 2);
myPos = myList.InsertBefore(myPos, 3);

// Confirm the head value is as expected
ATLASSERT(myList.GetHead() == 3);  

CAtlList::IsEmpty

Listenin boş olup olmadığını belirlemek için bu yöntemi çağırın.

bool IsEmpty() const throw();

Dönüş Değeri

Listede nesne yoksa true, aksi takdirde false döndürür.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(1);
myList.AddTail(2);
myList.AddTail(3);
myList.AddTail(4);

// Confirm not empty
ATLASSERT(myList.IsEmpty() == false);

// Remove the tail element
myList.RemoveTailNoReturn();

// Confirm not empty
ATLASSERT(myList.IsEmpty() == false);

// Remove the head element
myList.RemoveHeadNoReturn();

// Confirm not empty
ATLASSERT(myList.IsEmpty() == false);

// Remove all remaining elements
myList.RemoveAll();

// Confirm empty
ATLASSERT(myList.IsEmpty() == true);   

CAtlList::MoveToHead

Belirtilen öğeyi listenin başına taşımak için bu yöntemi çağırın.

void MoveToHead(POSITION pos) throw();

Parametreler

Pos
Taşınacak öğenin POSITION değeri.

Açıklamalar

Belirtilen öğe geçerli konumundan listenin başına taşınır. Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onaylama hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(1);
myList.AddTail(2);
myList.AddTail(3);
myList.AddTail(4);

// Move the tail element to the head
myList.MoveToHead(myList.GetTailPosition());

// Confirm the head is as expected
ATLASSERT(myList.GetHead() == 4);

// Move the head element to the tail
myList.MoveToTail(myList.GetHeadPosition());

// Confirm the tail is as expected
ATLASSERT(myList.GetTail() == 4);   

CAtlList::MoveToTail

Belirtilen öğeyi listenin kuyruğuna taşımak için bu yöntemi çağırın.

void MoveToTail(POSITION pos) throw();

Parametreler

Pos
Taşınacak öğenin POSITION değeri.

Açıklamalar

Belirtilen öğe geçerli konumundan listenin kuyruğuna taşınır. Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onaylama hatası oluşur.

Örnek

CAtlList::MoveToHead örneğine bakın.

CAtlList::RemoveAll

Listedeki tüm öğeleri kaldırmak için bu yöntemi çağırın.

void RemoveAll() throw();

Açıklamalar

Bu yöntem, listedeki tüm öğeleri kaldırır ve ayrılan belleği serbest bırakır. Hata ayıklama derlemelerinde, tüm öğeler silinmezse veya liste yapısı bozulursa bir ATLASSERT oluşturulur.

Örnek

CAtlList::IsEmpty örneğine bakın.

CAtlList::RemoveAt

Listeden tek bir öğeyi kaldırmak için bu yöntemi çağırın.

void RemoveAt(POSITION pos) throw();

Parametreler

Pos
Kaldırılacak öğenin POSITION değeri.

Açıklamalar

Pos tarafından başvuruda bulunan öğe kaldırılır ve bellek serbesttir. Listenin başını veya kuyruğunu kaldırmak için kullanılması RemoveAt kabul edilebilir.

Hata ayıklama derlemelerinde, liste geçerli değilse veya öğenin kaldırılması listenin liste yapısının parçası olmayan belleğe erişmesine neden oluyorsa onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(100);
myList.AddTail(200);
myList.AddTail(300);

// Use RemoveAt to remove elements one by one
myList.RemoveAt(myList.Find(100));
myList.RemoveAt(myList.Find(200));
myList.RemoveAt(myList.Find(300));

// Confirm all have been deleted
ATLASSERT(myList.IsEmpty() == true);   

CAtlList::RemoveHead

Listenin başındaki öğesini kaldırmak için bu yöntemi çağırın.

E RemoveHead();

Dönüş Değeri

Listenin başındaki öğesini döndürür.

Açıklamalar

Head öğesi listeden silinir ve bellek serbest bırakılır. öğesinin bir kopyası döndürülür. Hata ayıklama derlemelerinde, liste boşsa onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(100);
myList.AddTail(200);
myList.AddTail(300);

// Confirm the head of the list
ATLASSERT(myList.GetHead() == 100);

// Remove the head of the list
ATLASSERT(myList.RemoveHead() == 100);

// Confirm the new head of the list
ATLASSERT(myList.GetHead() == 200);   

CAtlList::RemoveHeadNoReturn

Bir değer döndürmeden listenin başındaki öğesini kaldırmak için bu yöntemi çağırın.

void RemoveHeadNoReturn() throw();

Açıklamalar

Head öğesi listeden silinir ve bellek serbest bırakılır. Hata ayıklama derlemelerinde, liste boşsa onay hatası oluşur.

Örnek

CAtlList::IsEmpty örneğine bakın.

CAtlList::RemoveTail

Listenin kuyruğundaki öğesini kaldırmak için bu yöntemi çağırın.

E RemoveTail();

Dönüş Değeri

Listenin sonundaki öğesini döndürür.

Açıklamalar

Tail öğesi listeden silinir ve bellek serbest bırakılır. öğesinin bir kopyası döndürülür. Hata ayıklama derlemelerinde, liste boşsa onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(100);
myList.AddTail(200);
myList.AddTail(300);

// Confirm the tail of the list
ATLASSERT(myList.GetTail() == 300);

// Remove the tail of the list
ATLASSERT(myList.RemoveTail() == 300);

// Confirm the new tail of the list
ATLASSERT(myList.GetTail() == 200);   

CAtlList::RemoveTailNoReturn

Bir değer döndürmeden listenin sonundaki öğesini kaldırmak için bu yöntemi çağırın.

void RemoveTailNoReturn() throw();

Açıklamalar

Tail öğesi listeden silinir ve bellek serbest bırakılır. Hata ayıklama derlemelerinde, liste boşsa onay hatası oluşur.

Örnek

CAtlList::IsEmpty örneğine bakın.

CAtlList::SetAt

Öğesinin değerini listede belirli bir konumda ayarlamak için bu yöntemi çağırın.

void SetAt(POSITION pos, INARGTYPE element);

Parametreler

Pos
Değiştirecek öğeye karşılık gelen POSITION değeri.

öğe
Yeni öğe değeri.

Açıklamalar

Var olan değeri öğesiyle değiştirir. Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onaylama hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
myList.AddTail(100);
myList.AddTail(200);

// Use SetAt to change the values stored in the head and
// tail of the list
myList.SetAt(myList.GetHeadPosition(), myList.GetHead() * 10);
myList.SetAt(myList.GetTailPosition(), myList.GetTail() * 10);

// Confirm the values
ATLASSERT(myList.GetHead() == 1000);
ATLASSERT(myList.GetTail() == 2000);   

CAtlList::SwapElements

Listedeki öğeleri değiştirmek için bu yöntemi çağırın.

void SwapElements(POSITION pos1, POSITION pos2) throw();

Parametreler

pos1
İlk POSITION değeri.

pos2
İkinci POSITION değeri.

Açıklamalar

Belirtilen iki konumdaki öğeleri değiştirir. Hata ayıklama derlemelerinde, konum değerlerinden biri NULL'a eşitse onay hatası oluşur.

Örnek

// Define the integer list
CAtlList<int> myList;

// Populate the list
for (int i = 0; i < 100; i++)
{
   myList.AddHead(i);
}

// Order is: 99, 98, 97, 96...
ATLASSERT(myList.GetHead() == 99);
ATLASSERT(myList.GetTail() == 0);

// Perform a crude bubble sort
for (int j = 0; j < 100; j++)
{
   for(int i = 0; i < 99; i++)
   {
      if (myList.GetAt(myList.FindIndex(i)) > 
         myList.GetAt(myList.FindIndex(i+1)))
      {
         myList.SwapElements(myList.FindIndex(i), myList.FindIndex(i+1));
      }
   }
}

// Order is: 0, 1, 2, 3...
ATLASSERT(myList.GetHead() == 0);
ATLASSERT(myList.GetTail() == 99);   

Ayrıca bkz.

CList Sınıfı
Sınıfa Genel Bakış