algoritmos de inserción en un arreglo ordenado sin repetición

8
Algoritmos de inserción en un arreglo ordenado sin repetición.

Upload: miguel-eduardo

Post on 26-Jul-2015

5.959 views

Category:

Education


5 download

TRANSCRIPT

Algoritmos de inserción en un arreglo ordenado sin repetición.

En el caso de tener un arreglo (array) ordenado en el algoritmo no se debe especificar ninguna posición, los elementos ocupan las posiciones que se les son asignadas según su valor.

Dentro de este tipo de algoritmo pueden presentarse dos situaciones: Los elementos no pueden encontrarse

repetidos en la lista. Los elementos pueden repetirse.

LOS ELEMTOS NO PUEDEN ENCONTRARSE REPETIDOS EN LA LISTA.

Al darse este caso dentro de la lista, nos arroga un mensaje o un código de error indicándonos que el elemento no se puede insertar. Si esto no sucede, se tendrá que buscar la posición que le corresponde en el arreglo y haga la inserción en la línea que le corresponde, que es de forma similar a la que se utiliza en el caso de arreglo no ordenados.

En este caso nos da igual que el elemento este o no en el arreglo. Simplemente utilizamos el método binario para que determine la posición donde se encuentra alojado el elemento o donde este debería estar, y en esta posición se debe insertar el nuevo numero.

1

2

3

4

Numero ingresado por el usuario

Presenta mensaje de errorMatriz llena

1

2

3

3 Numero ingresado por el usuario

Presenta mensaje de error: elemento ya existente

1

5

7

3 Numero ingresado por el usuario

Inserción del numero ingresado

public static int InsertarOrdenada1(int []vector,int elemento, Entero ultimo){Entero posicion = new Entero();Booleano encontrado=new Booleano();if(ultimo.v==vector.length-1){

return -1;//código de error matriz llena}else{

Busqueda.binaria(vector,elemento,0,ultimo,posicion,encontrado);if (encontrado){return -2;//código de error, elemento repetido else{for (i = ultimo; i >=posicion.v; i-) {vector[i+1]=vector[i];

vector[posicion.v]=elemento; ultimo.v++; return 0;//código de terminación }//fin del else interno }//fin del else externo }// fin de insertar