C/C++ Урок 34. Считаем элементы в списке
На этом и следующем уроках мы добавим еще пару вспомогательных методов для нашего списка - которыми мы воспользуемся на следующем уроке.
Это будут методы GetCount() - он возвратит общее число элементов нашего списка и Change(CData * p) - этот метод поменяет 2 элемента списка - а именно тот, который мы передадим в него в качестве параметра и следующий за ним.
Сначала добавьте объявление метода GetCount в класс:
class CList
{
public:
...
// Общее число элементов.
int GetCount();
...
Напишите реализацию этого метода:
int CList::GetCount()
{
// Указатель на очередные данные в списке.
CData * pCurr = m_pFirst;
// Если список пуст, то возвращаем 0.
if(pCurr == NULL)
{
return 0;
}
int count = 1; //Число элементов в списке.
// Пока есть следующий элемент списка.
while(pCurr->m_pNext!=NULL)
{
// Переходим на следуюющего.
pCurr = pCurr->m_pNext;
// Увеличиваем счетчик.
count++;
}
return count;
}
Реализация тут похожая на реализации других методов - мы пробегаем до конца списка, по дороге подсчитывая число элементов.
|