Vector определить индекс элемента

Обновлено: 04.07.2024

У меня есть указатель на векторный итератор; Я не знаю, что это за вектор. следовательно it - vec.begin() а также std::distance(vec.begin(), it) бесполезны, так как я не знаю, что такое вектор vec является. Я узнал, что it - vec.begin() алгоритм с постоянным временем Поэтому я думаю, что определенное числовое значение индекса хранится в векторном итераторе как некоторый закрытый член. Как найти индекс, не зная вектора из его итератора?

Решение

Чтобы получить позицию элемента в векторе, зная итератор, указывающий на элемент, просто вычтите v.begin() от итератора:

Теперь вам нужно проверить pos против Names.size() чтобы увидеть, если это за пределами или нет:

векторные итераторы ведут себя аналогично указателям на массивы; Большая часть того, что вы знаете об арифметике указателей, может быть применена и к векторным итераторам.

Начиная с C ++ 11 вы можете использовать std::distance вместо вычитания для итераторов и указателей:

Решение

Другие решения

Только ответ на последний вопрос «Как найти индекс, не зная вектора из его итератора?». И это скомпилировано Visual Studio 2015, так что будьте внимательны.


Работа со строками. Вывод искомого слова
Программа находит в тексте слово red. вот текст файла: red bred brred bread skinred.

Вернуть индекс последнего с конца элемента E в векторе V
подскажите нужно сделать следующие ------find_last(v, e) - вернуть индекс элемента e в векторе v.

Найти индекс начала слова максимальной длины
Здравствуйте. Дано символьный массив L(20), нужно найти индекс начала слова максимальной длины. .

Cделать ввод с клавиатуры 20 слов и найти индекс максимального слова
Нужно сделать ввод с клавиатуры 20 слов и найти индекс максимального слова. Может у кого-то есть.

но если вектор сортирован то lower_bound гораздо быстрее. На больших векторах при многократном поиске, лучше отсортировать и двоичным поиском.

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


Возможно ли получить "константный" индекс в векторе?
Здравствуйте, возможно ли получить "константный" индекс в векторе? Я записываю данные в Vector .


Найти в векторе индекс максимального числа
Найти в векторе индекс максимального числа и посчитать сумму всех чисел, слежующих после него сам.

Написать метод, возвращающий индекс искомого элемента в массиве
Принимает массив интов, и значение типа инт, возвращает индекс массива в котором значение совпадает.


В векторе (одномерном массиве) найти: разность первого положительного и последнего отрицательного элемента
В заданном векторе (одномерном массиве) найти: разность первого положительного и последнего.

Индекс последнего элемента в ListBox
Добрый день. Подскажите, пожалуйста, как узнать индекс последнего элемента ListBox?


Найти индекс последнего отрицательного элемента массива
Создать массив, в котором 14 элементов. Найти индекс последнего отрицательного элемента массива.

Не лучше ли будет создать константу, которая будет хранить v.size()? Nemovok, я думаю, речь об оптимизации здесь не к месту Не лучше ли будет создать константу, которая будет хранить v.size()? Не лучше ли будет создать константу, которая будет хранить v.size()? метод size() имеет константную сложность и это не имеет смысла, т.к. даже при -О1 эта функция будет в нормальных компиляторах заинлайнена.
бублик вернется , ну или ошибка компиляции вернется

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


Вывести индекс последнего чётного элемента списка
Задан массив целых чисел, размерностью 20. Вывести индекс его последнего парного элемента. Как.

Вернуть список кортежей, отсортированных в порядке возрастания последнего элемента
Дан список не пустых кортежей. Вернуть список кортежей, отсортированных в порядке возрастания.


Индекс первого и последнего элемента в коллекции с определенным классом
допустим я выбрал коллекцию элементов по id: var element = document.getElementById('posts') надо.

Определить индекс первого и последнего нулевого элемента массива
Определить индекс первого и последнего нулевого элемента массива


На экран вывести массивы и индекс последнего отрицательного элемента
Заполнить массив Х зачениями от -5 до 5 с шагом 0,5 используя значения массива Х, сформировать.

Умножить каждый отрицательный элемент в массиве на индекс второго с конца массива положительного элемента
Умножить каждый отрицательный элемент в массиве на индекс второго с конца массива положительного.

Я пытаюсь получить индекс элемента в векторе strings , чтобы использовать его в качестве индекса в другом векторе int типа, это возможно?

Теперь я хочу получить должность old_name в Names вектор, чтобы использовать его при доступе к определенному элементу в Numbers вектор. Так что я могу сказать:

Я пытался с помощью:

но, очевидно, это не работает, так как pos имеет тип строки!

Другие решения

Если вы хотите индекс, вы можете использовать std::find в комбинации с std::distance .

Читайте также: