Como insertar un elemento en un vector ordenado
Disculpe mi molestia, estoy realizando un método de búsqueda secuencial y quisiera que mi método inserte el elemento buscado si el mismo no se encuentra. Desde ya aclaro que mi vector es ordenado previamente antes de llamar al método de búsqueda.
Mi método es el siguiente:
private void busqueda(int d)
{
boolean h = false;
for(int i = 0; vector <= d; i = i + 1)
{
if (vector == d)
{
System.out.println("Elemento encontrado");
System.out.println("en posicion " + i);
h = true;
}
}
if (h == false)
{
System.out.println("Elemento no encontrado");
for(int i = 0; i < N; i = i + 1) // aqui es donde trato de insertarlo en caso de no existir.
{
if(vector > d) // d es el elemento buscado
{
vector = new int[N + 1]; // trato de definir el vector de 50 a 51 para correr elementos
vector[i + 1] = vector;
vector = d;
}
}
Búsqueda(d); / /llamo nuevamente al método para que lo busca e imprima posición donde coloco el elemento.
}
Mi problema radica en que después de llamar al método nuevamente me da la intentar donde inserto el vector pero me da un error de array fuera de indice, como que no me tomo que al vector le he sumado 1 a su tamaño.
¿Cómo puedo implementar una inserción de un valor entero en un vector ya ordenado?.
Mi método es el siguiente:
private void busqueda(int d)
{
boolean h = false;
for(int i = 0; vector <= d; i = i + 1)
{
if (vector == d)
{
System.out.println("Elemento encontrado");
System.out.println("en posicion " + i);
h = true;
}
}
if (h == false)
{
System.out.println("Elemento no encontrado");
for(int i = 0; i < N; i = i + 1) // aqui es donde trato de insertarlo en caso de no existir.
{
if(vector > d) // d es el elemento buscado
{
vector = new int[N + 1]; // trato de definir el vector de 50 a 51 para correr elementos
vector[i + 1] = vector;
vector = d;
}
}
Búsqueda(d); / /llamo nuevamente al método para que lo busca e imprima posición donde coloco el elemento.
}
Mi problema radica en que después de llamar al método nuevamente me da la intentar donde inserto el vector pero me da un error de array fuera de indice, como que no me tomo que al vector le he sumado 1 a su tamaño.
¿Cómo puedo implementar una inserción de un valor entero en un vector ya ordenado?.
1 Respuesta
Respuesta de alejosoft
1