Массив представляет набор однотипных данных. Формальное определение массива выглядит следующим образом


Download 46.82 Kb.
bet3/3
Sana30.04.2023
Hajmi46.82 Kb.
#1405970
1   2   3
Bog'liq
Массивы

std::find
Стандартная библиотека C++ предлагает std::find функция, которая возвращает итератор к первому соответствующему элементу в указанном диапазоне или итератор к концу последовательности, если элемент не найден. Его можно использовать следующим образом, чтобы найти индекс значения в массиве в C++:

#include


#include
int main()
{
int arr[] = {1, 3, 5, 7, 9};
int target = 7;
auto it = std::find(std::begin(arr), std::end(arr), target);
if (it != std::end(arr)) {
int index = std::distance(arr, it);
std::cout << "Element found at index " << index << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
return 0;
}

результат:

Element found at index 3
2. Использование пользовательской процедуры
Мы также можем реализовать нашу пользовательскую функцию для возврата индекса первого вхождения указанного элемента в массиве. Идея состоит в том, чтобы выполнить линейный поиск в массиве, используя обычный цикл for, и завершить поиск на первом подходящем элементе. Если массив отсортирован, мы можем использовать алгоритм бинарного поиска.

#include


#include
int findIndex(int arr[], int n, int target)
{
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
int main()
{
int arr[] = {1, 3, 5, 7, 9};
int target = 7;
int n = sizeof(arr) / sizeof(*arr);
int index = findIndex(arr, n, target);
if (index != -1) {
std::cout << "Element found at index " << index << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
return 0;
}

Download 46.82 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling