// Operaciones que se miden en la sesión 2.
#ifndef VECTOR_OPS_H
#define VECTOR_OPS_H

#include <vector>

// Devuelve {0, 1, ..., n - 1}, agregando cada valor con push_back.
std::vector<int> fill_back(int n);

// Devuelve {n - 1, ..., 1, 0}, agregando 0, 1, ..., n - 1 siempre al inicio con insert.
std::vector<int> fill_front(int n);

// Devuelve un índice donde está key, o -1. Suma a comparisons una unidad por cada elemento
// que mira.
int linear_search(const std::vector<int>& values, int key, long long& comparisons);

// Lo mismo, con values ordenado de menor a mayor.
int binary_search(const std::vector<int>& values, int key, long long& comparisons);

#endif
