Successfully reported this slideshow.

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

0

Share

Upcoming SlideShare
FUNCION BUSCARV
FUNCION BUSCARV
Loading in …3
×
1 of 8
1 of 8

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

0

Share

Download to read offline

  1. 1. Algoritmos de inserción en un arreglo ordenado sin repetición.
  2. 2. <ul><li>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. </li></ul><ul><li>Dentro de este tipo de algoritmo pueden presentarse dos situaciones: </li></ul><ul><ul><li>Los elementos no pueden encontrarse repetidos en la lista. </li></ul></ul><ul><ul><li>Los elementos pueden repetirse. </li></ul></ul>
  3. 3. LOS ELEMTOS NO PUEDEN ENCONTRARSE REPETIDOS EN LA LISTA. <ul><li>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. </li></ul>
  4. 4. <ul><li>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. </li></ul>
  5. 5. Numero ingresado por el usuario Presenta mensaje de error Matriz llena 1 2 3 4
  6. 6. 3 Numero ingresado por el usuario Presenta mensaje de error: elemento ya existente 1 2 3
  7. 7. 3 Numero ingresado por el usuario Inserción del numero ingresado 1 5 7
  8. 8. <ul><li>public static int InsertarOrdenada1(int []vector,int elemento, Entero ultimo){ </li></ul><ul><li>Entero posicion = new Entero(); </li></ul><ul><li>Booleano encontrado=new Booleano(); </li></ul><ul><li>if(ultimo.v==vector.length-1){ </li></ul><ul><li>return -1;//código de error matriz llena </li></ul><ul><li>}else{ </li></ul><ul><li>Busqueda.binaria(vector,elemento,0,ultimo,posicion,encontrado); </li></ul><ul><li>if (encontrado){ </li></ul><ul><li>return -2;//código de error, elemento repetido </li></ul><ul><li>else{ </li></ul><ul><li>for (i = ultimo; i >=posicion.v; i-) { </li></ul><ul><li>vector[i+1]=vector[i]; </li></ul><ul><li>vector[posicion.v]=elemento; </li></ul><ul><li>ultimo.v++; </li></ul><ul><li>return 0;//código de terminación </li></ul><ul><li>}//fin del else interno </li></ul><ul><li>}//fin del else externo </li></ul><ul><li>}// fin de insertar </li></ul>
  1. 1. Algoritmos de inserción en un arreglo ordenado sin repetición.
  2. 2. <ul><li>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. </li></ul><ul><li>Dentro de este tipo de algoritmo pueden presentarse dos situaciones: </li></ul><ul><ul><li>Los elementos no pueden encontrarse repetidos en la lista. </li></ul></ul><ul><ul><li>Los elementos pueden repetirse. </li></ul></ul>
  3. 3. LOS ELEMTOS NO PUEDEN ENCONTRARSE REPETIDOS EN LA LISTA. <ul><li>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. </li></ul>
  4. 4. <ul><li>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. </li></ul>
  5. 5. Numero ingresado por el usuario Presenta mensaje de error Matriz llena 1 2 3 4
  6. 6. 3 Numero ingresado por el usuario Presenta mensaje de error: elemento ya existente 1 2 3
  7. 7. 3 Numero ingresado por el usuario Inserción del numero ingresado 1 5 7
  8. 8. <ul><li>public static int InsertarOrdenada1(int []vector,int elemento, Entero ultimo){ </li></ul><ul><li>Entero posicion = new Entero(); </li></ul><ul><li>Booleano encontrado=new Booleano(); </li></ul><ul><li>if(ultimo.v==vector.length-1){ </li></ul><ul><li>return -1;//código de error matriz llena </li></ul><ul><li>}else{ </li></ul><ul><li>Busqueda.binaria(vector,elemento,0,ultimo,posicion,encontrado); </li></ul><ul><li>if (encontrado){ </li></ul><ul><li>return -2;//código de error, elemento repetido </li></ul><ul><li>else{ </li></ul><ul><li>for (i = ultimo; i >=posicion.v; i-) { </li></ul><ul><li>vector[i+1]=vector[i]; </li></ul><ul><li>vector[posicion.v]=elemento; </li></ul><ul><li>ultimo.v++; </li></ul><ul><li>return 0;//código de terminación </li></ul><ul><li>}//fin del else interno </li></ul><ul><li>}//fin del else externo </li></ul><ul><li>}// fin de insertar </li></ul>

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

×