Класс System::Collections::Generic::LinkedList

LinkedList class

LinkedList forward declaration.

template<typename T>class LinkedList : public virtual System::Object,
                                       public System::Collections::Generic::ICollection<T>,
                                       private System::Collections::Invalidatable
ПараметрОписание
TСодержит тип значения.

Nested classes

Методы

МетодОписание
Add(const T&) overrideДобавляет element в конец списка.
AddAfter(const SharedPtr<LinkedListNode<T>>&, const T&)Добавляет element после node в списке.
AddAfter(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)Добавляет newNode после node в списке.
AddBefore(const SharedPtr<LinkedListNode<T>>&, const T&)Добавляет element перед node в списке.
AddBefore(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)Добавляет newNode перед node в списке.
AddFirst(const T&)Добавляет element в начало списка.
AddFirst(const SharedPtr<LinkedListNode<T>>&)Добавляет newNode в начало списка.
AddLast(const T&)Добавляет element в конец списка.
AddLast(const SharedPtr<LinkedListNode<T>>&)Добавляет newNode в конец списка.
begin()Получает итератор к первому элементу коллекции.
begin() constПолучает итератор к первому элементу константно-квалифицированной коллекции.
cbegin() constПолучает итератор к первому константно-квалифицированному элементу коллекции.
cend() constПолучает итератор для несуществующего константно-квалифицированного элемента за пределами коллекции.
Clear() overrideУдаляет все элементы в списке.
Contains(const T&) const overrideПроверяет, присутствует ли element в списке.
CopyTo(ArrayPtr<T>, int) overrideКопирует данные контейнера в существующие элементы массива.
crbegin() constПолучает обратный итератор к последнему элементу коллекции с const‑квалификатором (первый в обратном порядке).
crend() constПолучает обратный итератор для несуществующего элемента с const‑квалификатором перед началом коллекции.
end()Получает итератор для несуществующего элемента за пределами коллекции.
end() constПолучает итератор для несуществующего элемента за пределами константно-квалифицированной коллекции.
Find(const T&) constВыполняет поиск element в прямом направлении в списке.
FindLast(const T&) constВыполняет поиск element в обратном направлении в списке.
get_Count() const overrideПолучает количество элементов в списке.
get_First() constПолучает указатель на первый элемент в списке.
get_Last() constПолучает указатель на последний элемент в списке.
GetEnumerator() overrideПолучает перечислитель для перебора текущего LinkedList.
LinkedList()Создаёт пустой LinkedList.
LinkedList(const SharedPtr<IEnumerable<T>>&)Конструктор копирования.
rbegin()Получает обратный итератор к последнему элементу коллекции (первый в обратном порядке).
rbegin() constПолучает обратный итератор к последнему элементу const‑квалифицированной коллекции (первый в обратном порядке).
Remove(const T&) overrideУдаляет первое вхождение указанного element из списка.
Remove(const SharedPtr<LinkedListNode<T>>&)Удаляет узел из списка.
RemoveFirst()Удаляет первый узел из списка.
RemoveLast()Удаляет последний узел из списка.
rend()Получает обратный итератор для несуществующего элемента перед началом коллекции.
rend() constПолучает обратный итератор для несуществующего элемента перед началом const‑квалифицированной коллекции.
virtualizeBeginConstIterator() const overrideПолучает реализацию константного итератора begin для текущего контейнера.
virtualizeBeginIterator() overrideПолучает реализацию итератора begin для текущего контейнера.
virtualizeEndConstIterator() const overrideПолучает реализацию константного итератора end для текущего контейнера.
virtualizeEndIterator() overrideПолучает реализацию итератора end для текущего контейнера.

Typedefs

Определение типаОписание
const_iteratorТип константного итератора.
const_reverse_iteratorТип константного обратного итератора.
iteratorТип итератора.
list_tБазовый тип данных.
reverse_iteratorТип обратного итератора.

Примечания

Контейнер связного списка. Реализует оболочку над std::list. Объекты этого класса должны выделяться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам времени выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

#include <system/collections/linkedlist.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

int main()
{
  // Создайте экземпляр класса LinkedList.
  auto list = MakeObject<LinkedList<int>>();

  // Заполните связный список.
  list->AddFirst(1);
  list->AddLast(30);
  list->AddAfter(list->get_First(), 15);
  list->AddBefore(list->get_Last(), 25);

  // Выведите элементы связного списка.
  for (const auto item: list)
  {
    std::cout << item << ' ';
  }

  return 0;
}
/*
This code example produces the following output:
1 15 25 30
*/

См. также