Как узнать количество элементов в list c
Перейти к содержимому

Как узнать количество элементов в list c

  • автор:

Как узнать количество элементов в List?

Как узнать размерность внутреннего вектора в массиве List>?
Добрый вечер! Уважаемые, подскажите пожалуйста, как узнать размерность внутренних строк в.

Как сделать ограничение на количество элементов в List?
Хочу сделать список, который не будет выкидывать Exception из-за переполнения, он просто перестанет.

Как передать количество элементов List<> в Array[]
public Image itemImage = new Image; public Item item = new Item; List<Item> itemInInventar;.

6277 / 3562 / 898
Регистрация: 28.10.2010
Сообщений: 5,926

Лучший ответ

Сообщение было отмечено Zetway как решение

Решение

Listint> list = new Listint>(); int count = list.Count;

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как узнать количество элементов в массиве
функцией split заполняем массив. Как узнать количество заполненых элементов в получившемся массиве.

А как узнать количество элементов в поле?
Подскажите, как узнать количество элементов в multivalue поле при помощи Lotus Script или как.

Как узнать количество элементов в массиве
Вобщем так, считал все строки текстового файла в массив строк, и хотел уже писать условие отбора.

Как узнать количество элементов в списке больше текущего
Всем привет! Допустим, есть список l= , как можно узнать количество элементов в списке больше.

Как узнать последний элемент List?
Мне нужно чтобы добавлялись к массиву list переменные и я обращался к последней из них но не могу.

Как узнать количество элементов в list c

Контейнер list представляет двухсвязный список, то есть такой список, где каждый элемент имеет указатели на предыдущий и последовательный элемент. Благодаря чему мы можем перемещаться по списку как вперед, так и назад. Для использования списка необходимо подключить заголовочный файл list .

std::list list1; // пустой список std::list list2(5); // список list2 состоит из 5 чисел, каждый элемент имеет значение по умолчанию std::list list3(5, 2); // список list3 состоит из 5 чисел, каждое число равно 2 std::list list4< 1, 2, 4, 5 >; // список list4 состоит из чисел 1, 2, 4, 5 std::list list5 = < 1, 2, 3, 5 >; // список list5 состоит из чисел 1, 2, 4, 5 std::list list6(list4); // список list6 - копия списка list4 std::list list7 = list4; // список list7 - копия списка list4

Получение элементов

В отличие от других контейнеров для типа list не определена операция обращения по индексу или функция at(), которая выполняет похожую задачу.

Тем не менее для контейнера list можно использовать функции front() и back() , которые возвращают соответственно первый и последний элементы.

Чтобы обратиться к элементам, которые находятся в середине (после первого и до последнего элементов), придется выполнять перебор элементов с помощью циклов или итераторов:

#include #include int main() < std::listnumbers< 1, 2, 3, 4, 5 >; int first ; // 1 int last < numbers.back() >; // 5 std::cout std::cout

Размер списка

Для получения размера списка можно использовать функцию size() :

std::list numbers< 1, 2, 3, 4, 5 >; int size = numbers.size(); // 5

Функция empty() позволяет узнать, пуст ли список. Если он пуст, то функция возвращает значение true, иначе возвращается значение false:

std::list numbers< 1, 2, 3, 4, 5 >; if (numbers.empty()) std::cout 

С помощью функции resize() можно изменить размер списка. Эта функция имеет две формы:

  • resize(n) : оставляет в списке n первых элементов. Если список содержит больше элементов, то он усекается до первых n элементов. Если размер списка меньше n, то добавляются недостающие элементы и инициализируются значением по умолчанию
  • resize(n, value) : также оставляет в списке n первых элементов. Если размер списка меньше n, то добавляются недостающие элементы со значением value
std::list numbers< 1, 2, 3, 4, 5, 6 >; numbers.resize(4); // оставляем первые четыре элемента - numbers = numbers.resize(6, 8); // numbers =

Изменение элементов списка

Функция assign() позволяет заменить все элементы списка определенным набором. Она имеет следующие формы:

  • assign(il) : заменяет содержимое контейнера элементами из списка инициализации il
  • assign(n, value) : заменяет содержимое контейнера n элементами, которые имеют значение value
  • assign(begin, end) : заменяет содержимое контейнера элементами из диапазона, на начало и конец которого указывают итераторы begin и end
std::list numbers < 1, 2, 3, 4, 5 >; numbers.assign(< 21, 22, 23, 24, 25 >); // numbers = < 21, 22, 23, 24, 25 >numbers.assign(4, 3); // numbers = std::list values < 6, 7, 8, 9, 10, 11 >; auto start = ++values.begin(); // итератор указывает на второй элемент из values auto end = values.end(); numbers.assign(start, end); // numbers =

Функция swap() обменивает значениями два списка:

std::list list1< 1, 2, 3, 4, 5 >; std::list list2< 6, 7, 8, 9>; list1.swap(list2); // list1 = < 6, 7, 8, 9>; // list2 = < 1, 2, 3, 4, 5 >;

Добавление элементов

Для добавления элементов в контейнер list применяется ряд функций.

  • push_back(val) : добавляет значение val в конец списка
  • push_front(val) : добавляет значение val в начало списка
  • emplace_back(val) : добавляет значение val в конец списка
  • emplace_front(val) : добавляет значение val в начало списка
  • emplace(pos, val) : вставляет элемент val на позицию, на которую указывает итератор pos. Возвращает итератор на добавленный элемент
  • insert(pos, val) : вставляет элемент val на позицию, на которую указывает итератор pos, аналогично функции emplace. Возвращает итератор на добавленный элемент
  • insert(pos, n, val) : вставляет n элементов val начиная с позиции, на которую указывает итератор pos. Возвращает итератор на первый добавленный элемент. Если n = 0, то возвращается итератор pos.
  • insert(pos, begin, end) : вставляет начиная с позиции, на которую указывает итератор pos, элементы из другого контейнера из диапазона между итераторами begin и end. Возвращает итератор на первый добавленный элемент. Если между итераторами begin и end нет элементов, то возвращается итератор pos.
  • insert(pos, values) : вставляет список значений values начиная с позиции, на которую указывает итератор pos. Возвращает итератор на первый добавленный элемент. Если values не содержит элементов, то возвращается итератор pos.

Функции push_back() , push_front() , emplace_back() и emplace_front() :

std::list numbers< 1, 2, 3, 4, 5 >; numbers.push_back(23); // < 1, 2, 3, 4, 5, 23 >numbers.push_front(15); // < 15, 1, 2, 3, 4, 5, 23 >numbers.emplace_back(24); // < 15, 1, 2, 3, 4, 5, 23, 24 >numbers.emplace_front(14); //

Добавление в середину списка с помощью функции emplace() :

std::list numbers< 1, 2, 3, 4, 5 >; auto iter = ++numbers.cbegin(); // итератор указывает на второй элемент numbers.emplace(iter, 8); // добавляем после первого элемента numbers = < 1, 8, 2, 3, 4, 5>;

Добавление в середину списка с помощью функции insert() :

std::list numbers1< 1, 2, 3, 4, 5 >; auto iter1 = numbers1.cbegin(); // итератор указывает на первый элемент numbers1.insert(iter1, 0); // добавляем начало списка //numbers1 = < 0, 1, 2, 3, 4, 5>; std::list numbers2< 1, 2, 3, 4, 5 >; auto iter2 = numbers2.cbegin(); // итератор указывает на первый элемент numbers2.insert(++iter2, 3, 4); // добавляем после первого элемента три четверки //numbers2 = < 1, 4, 4, 4, 2, 3, 4, 5>; std::list values < 10, 20, 30, 40, 50 >; std::list numbers3< 1, 2, 3, 4, 5 >; auto iter3 = numbers3.cbegin(); // итератор указывает на первый элемент // добавляем в начало все элементы из values numbers3.insert(iter3, values.begin(), values.end()); //numbers3 = < 10, 20, 30, 40, 50, 1, 2, 3, 4, 5>; std::list numbers4< 1, 2, 3, 4, 5 >; auto iter4 = numbers4.cend(); // итератор указывает на позицию за последним элементом // добавляем в конец список из трех элементов numbers4.insert(iter4, < 21, 22, 23 >); //numbers4 = < 1, 2, 3, 4, 5, 21, 22, 23>;

Удаление элементов

Для удаления элементов из контейнера list могут применяться следующие функции:

  • clear(p) : удаляет все элементы
  • pop_back() : удаляет последний элемент
  • pop_front() : удаляет первый элемент
  • erase(p) : удаляет элемент, на который указывает итератор p. Возвращает итератор на элемент, следующий после удаленного, или на конец контейнера, если удален последний элемент
  • erase(begin, end) : удаляет элементы из диапазона, на начало и конец которого указывают итераторы begin и end. Возвращает итератор на элемент, следующий после последнего удаленного, или на конец контейнера, если удален последний элемент

std::list numbers < 1, 2, 3, 4, 5 >; numbers.pop_front(); // numbers = < 2, 3, 4, 5 >numbers.pop_back(); // numbers = < 2, 3, 4 >numbers.clear(); // numbers =<> numbers = < 1, 2, 3, 4, 5 >; auto iter = numbers.cbegin(); // указатель на первый элемент numbers.erase(iter); // удаляем первый элемент // numbers = < 2, 3, 4, 5 >numbers = < 1, 2, 3, 4, 5 >; auto begin = numbers.begin(); // указатель на первый элемент auto end = numbers.end(); // указатель на последний элемент numbers.erase(++begin, --end); // удаляем со второго элемента до последнего //numbers =

Получить подсчет количества элементов в списке в C#

В этом посте будет обсуждаться, как получить количество элементов в списке в C#.

The Count Свойство возвращает количество элементов, содержащихся в списке. Это работает в O(1) времени и может использоваться следующим образом:

using System ;
using System . Collections . Generic ;
public class Example
public static void Main ( )
List < int >values = new List < int > < 1 , 2 , 3 , 4 , 5 >;
int size = values . Count ;
Console . WriteLine ( "The count of list is <0>" , size ) ;

результат:

The number of elements in the list is 5

В LINQ вы можете использовать Count() метод расширения для получения количества элементов, как показано в следующем примере. Обратите внимание, что это может означать вызов метода List. Count имущество.

using System ;
using System . Linq ;
using System . Collections . Generic ;
public class Example
public static void Main ( )
List < int >values = Enumerable . Repeat ( 0 , 5 ) . ToList ( ) ;
int size = values . Count ( ) ;
Console . WriteLine ( "The number of elements in the list is <0>" , size ) ;

результат:

The number of elements in the list is 5

В качестве альтернативы, чтобы получить количество одного элемента, отфильтруйте список, используя Where() метод для получения совпадающих значений с указанной целью, а затем получить его количество, вызвав метод Count() метод.

Как сосчитать количество определенных элементов в списке c#?

Есть список, состоящий из объектов. Все эти объекты отличаются значением одного поля. Задача состоит в том, чтобы вывести количество объектов для каждого значения этого поля.

Отслеживать
задан 14 фев 2016 в 16:25
user190794 user190794
531 4 4 серебряных знака 16 16 бронзовых знаков

Постарайтесь писать более развернутые вопросы. Поясните, в чем именно вы видите проблему. Приведите пример кода.

15 фев 2016 в 6:58

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Пусть список называется list, а поле по которому считаем называется Name, тогда

var result = list.GroupBy(n => n.Name).Select(m => new ); 

Это у нас будет LINQ вариант, на тот случай если не захотите создавать свой "велосипед", а воспользуетесь штатными средствами языка. В противном случае @rdorn дал отличный ответ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *