Encuentra el índice de un elemento en un Conjunto en C++

Dado un conjunto S que consta de N enteros y un elemento K , la tarea es encontrar el índice del elemento K en el conjunto S. Si el elemento no está presente en S , imprima -1 .

Ejemplos:

Entrada: N = 5, S = {1, 2, 3, 4, 6} K = 6
Salida: 5
Explicación: 6 es el quinto elemento en S.

Entrada: N = 5, S = {1, 2, 3, 4, 6}, K = 5
Salida:   -1  Explicación:   5 no está presente en este conjunto, por lo que damos salida como -1. 

Enfoque: siga los pasos a continuación para resolver el problema:

  • Inicialice una variable, digamos índice como 1 , para almacenar el índice del elemento requerido.
  • Recorra el conjunto S y realice las siguientes operaciones: 
  • Si el elemento actual es K , imprime Index y sal del bucle .
  • De lo contrario, incremente el Índice.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to implement
// the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to calculate index
// of element in a Set
int GetIndex(set<int> S, int K)
{
 
    // To store the index of K
    int Index = 1;
 
    // Traverse the Set
    for (auto u : S) {
 
        if (u == K)
            return Index;
 
        Index++;
    }
 
    // If K is not present
    // in the set
    return -1;
}
 
// Driver Code
int main()
{
    // Input
    set<int> S;
    S.insert(1);
    S.insert(6);
    S.insert(2);
    S.insert(3);
    S.insert(4);
    int K = 6;
 
    cout << GetIndex(S, K) << endl;
    return 0;
}
Producción: 

5

 

Complejidad temporal : O(N)
Espacio auxiliar: O(1) 

Publicación traducida automáticamente

Artículo escrito por satish0701 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *