Допустим, у меня есть вектор целых чисел:
vector<int> v(n);
, который я заполняю в для l oop действительными значениями. Я хочу найти индекс данного значения в этом векторе. Например, если у меня есть вектор 1, 2, 3, 4
и значение 2, я получу индекс = 1. Алгоритм будет предполагать, что вектор отсортирован в порядке возрастания, он будет проверять среднее число, а затем в зависимости от его Значение (если оно больше или меньше того, которое мы запрашиваем) будет проверять одну из половинок вектора. Меня попросили сделать это рекурсивно и использовать указатель . Поэтому я написал функцию типа void:
void findGiven(vector<int> &v){
int i = 0;
int *wsk = &v[i];
}
, и я легко могу получить доступ к 0-му элементу вектора. Однако у меня, кажется, есть некоторые базовые c недостатки в знаниях, потому что я не могу поместить это в a для l oop, чтобы напечатать все значения. Я хотел сделать что-то вроде этого:
for (int j = 0; j<v.size(); j++){
cout << *wsk[j];
}
Есть ли способ сделать такое? Также я знаю, что это рекурсивно, я просто пытаюсь понять, как правильно использовать указатели и как подготовить алгоритм, чтобы позже я мог построить его рекурсивно. Заранее спасибо!