ORDENACION DE ARREGLOS <ul><li>LA ORDENACION DE ARREGLOS ES OTRA DE LAS TAREAS USUALES EN LA MAYORIA DE LOS PROGRAMAS. </l...
ORDENACION DE ARREGLOS METODO BURBUJA <ul><li>LA ORDENACION POR BURBUJA ES UNO DE LOS METODOS MAS FACILES DE ORDENACION.  ...
ORDENACION DE ARREGLOS METODO BURBUJA LISTA DESORDENADA: 6  4  10  2  8 PRIMERA PASADA: 6  4  10  2  8 PRIMERA PASADA: 4  ...
ORDENACION DE ARREGLOS METODO BURBUJA #include &quot;iostream&quot; //se define lado de 9 posiciones #define lado 9 int a[...
BUSQUEDA EN ARREGLOS <ul><li>LOS ARRAY (LISTAS Y TABLAS) SON UNO DE LOS MEDIOS PRINCIPALES POR LOS CUALES SE ALMACENAN LOS...
#include &quot;iostream&quot; // se declaran 3 funciones int original(); int ordenamiento(); int impresion(); //n signific...
int ordenamiento() ‏ { for (pasada=1;pasada<n;pasada++) ‏ { for (x=0;x<n-1;x++) ‏ { if (media[x]>media[x+1]) ‏ { temporal ...
BUSQUEDA SECUENCIAL <ul><li>ESTE ALGORITMO BUSCA EL ELEMENTO DADO, RECORRIENDO SECUENCIALMENTE EL ARRAY DESDE UN ELEMENTO ...
EJEMPLO BUSQUEDA SECUENCIAL #include &quot;iostream&quot; int n; int buscar (int [], int z); int a []={0,n}; int i, y, num...
#include &quot;iostream&quot; // se declaran 3 funciones int original(); int ordenamiento(); int impresion(); int busqueda...
int ordenamiento() ‏ { for (pasada=1;pasada<n;pasada++) ‏ { for (x=0;x<n-1;x++) ‏ { if (media[x]>media[x+1]) ‏ { temporal ...
Para arreglos ordenados es muy utilizado el método de búsqueda binaria, que consiste en irse directamente al elemento de c...
Próxima SlideShare
Cargando en…5
×

Arreglos2

4.548 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
4.548
En SlideShare
0
De insertados
0
Número de insertados
3.988
Acciones
Compartido
0
Descargas
24
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Arreglos2

  1. 1. ORDENACION DE ARREGLOS <ul><li>LA ORDENACION DE ARREGLOS ES OTRA DE LAS TAREAS USUALES EN LA MAYORIA DE LOS PROGRAMAS. </li></ul><ul><li>LA ORDENACION O CLASIFICACION ES EL PROCEDIMIENTO MEDIANTE EL CUAL SE DISPONE LOS ELEMENTOS DEL ARRAY EN UN ORDEN ESPECIFICO, TAL COMO ORDEN ALFABETICO U ORDEN NUMERICO. </li></ul><ul><li>EXISTEN NUMEROS ALGORITMOS DE ORDENACION DE ARREGLOS COMO SON: INSERCION, BURBUJA, SELECCIÓN RAPIDA, FUSION, MONTICULO, SHELL. </li></ul><ul><li>EL METODO MAS OCUPADO Y FACIL ES EL METODO BURBUJA. </li></ul>
  2. 2. ORDENACION DE ARREGLOS METODO BURBUJA <ul><li>LA ORDENACION POR BURBUJA ES UNO DE LOS METODOS MAS FACILES DE ORDENACION. </li></ul><ul><li>EL METODO ALGORITMO BURBUJA ES MUY SIMPLE. SE COMPARA CADA ELEMENTO DEL ARREGLO CON EL SIGUIENTE (POR AREJAS), SI NO ESTAN EN EL ORDEN CORRECTO, SE INTERCAMBIAN ENTRE SI SUS VALORES. EL VALOR MAS PEQUEÑO FLOTA HASTA LA PARTE SUPERIOR DEL ARRAY COMO SI FUERA UNA BURBUJA EN UN VASO DE REFRESCO CON GAS. </li></ul>
  3. 3. ORDENACION DE ARREGLOS METODO BURBUJA LISTA DESORDENADA: 6 4 10 2 8 PRIMERA PASADA: 6 4 10 2 8 PRIMERA PASADA: 4 6 10 2 8 PRIMERA PASADA: 4 6 2 10 8 SEGUNDA PASADA: 4 6 2 8 10 SEGUNDA PASADA: 4 2 6 8 10 TERCERA PASADA: 4 2 6 8 10 TERCERA PASADA: 2 4 6 8 10 CUARTA PASADA: 2 4 6 8 10
  4. 4. ORDENACION DE ARREGLOS METODO BURBUJA #include &quot;iostream&quot; //se define lado de 9 posiciones #define lado 9 int a[lado]={2,6,4,18,12,89,68,45,37}; // i sera el indice o subindice,pasadas llevara el ordenamiento, temporal servira para realizar el intercambio de valores de //menor a mayor int i, pasada , temporal; main () ‏ { system(“cls”); //imprimo los datos en el orden que se declararon, a partir de la posicon 0 a la 10=10 posiciones,i es el indice o posicion del arreglo y a[i] es //el valor que tiene el arreglo en esa posicon gotoxy (3,5); cout<<&quot;impresión en el orden original&quot;; for (i=0; i<=lado-1;i++) ‏ { gotoxy (5,7+i);cout<<i; gotoxy(10,7+i); cout<<a[i]; } //Metodo burbuja, pasadas //controla las pasadas de ordenamiento por regla general tendra que realizarse el mismo numero de pasadas, que la longitud del arreglo aqui //se instala en la primera posicion posicion 0 for (pasada=0; pasada<=lado-1; pasada++) ‏ { //aqui compara la primera posicon con la segunda y la opcion lado-2, es logica ya que como siempre se comparan en parestendra //quedetenerse faltando 2 posiciones antes de que termine el arreglo for (i=0; i<=lado-2; i++) ‏ { // aqui se declara la comparacion si va hacer menor o mayor if (a[i]> a[i+1]) ‏ { // aqui se realzia el intercambio temporal=a[i]; a[i]= a[i+1]; a[i+1]=temporal; } } } // aqui se imprimen ya ordenados la posicon y el valor gotoxy (30,10); cout<<&quot;los datos ordenados de menor a mayor&quot;; for (i= 0; i<9; i++) ‏ { gotoxy (45,11+i); cout<<i; gotoxy (55,11+i); cout<<a[i]; } getch (“pause”); return 0; }
  5. 5. BUSQUEDA EN ARREGLOS <ul><li>LOS ARRAY (LISTAS Y TABLAS) SON UNO DE LOS MEDIOS PRINCIPALES POR LOS CUALES SE ALMACENAN LOS DATOS EN PROGRAMAS C++. DEBIDO A ESTO, EXISTEN OPERACIONES FUNDAMENTALES CUYO TRATAMIENTO ES IMPRESCINDIBLE CONOCER, COMO SON LA ORDENACION Y BUSQUEDA DE LAS LISTAS. </li></ul><ul><li>LA BUSQUEDA DE UN ELEMENTO DADO EN UN ARRAY (LISTA O TABLA) ES UNA APLICACIÓN MUY USUAL EN EL DESARROLLO DE PROGRAMAS C++. DOS ALGORITMOS TIPICOS QUE REALIZAN ESTA TAREA SON LA BUSQUEDA SECUENCIAL O EN SERIE Y LA BUSQUEDA BINARIA O DICOTOMICA. </li></ul><ul><li>LA BUSQUEDA SECUENCIAL ES EL METODO UTILIZADO PARA LAS LISTAS NO ORDENADAS. </li></ul><ul><li>LA BUSQUEDA BINARIA SE UTILIZA EN ARRAY QUE YA ESTAN ORDENADOS </li></ul>
  6. 6. #include &quot;iostream&quot; // se declaran 3 funciones int original(); int ordenamiento(); int impresion(); //n significa n posiciones, media es el arreglo,pasadas es el //ordenamiento, temporal sirve para el intercambio de valores, x es el //indice o subindice int n,x,pasada,temporal; int media[]={n}; main() ‏ { system(“cls”); cout<<&quot;a cuantos numeros deseas ordenar&quot;; cin>> n; cout<<&quot;impresion en orden original que fueron introducidos&quot;; original(); cout<<&quot;ordenamienton&quot;; ordenamiento(); cout<<&quot;impresion ordenados&quot;; impresion(); system(“pause”); return 0; } int original() ‏ { x=0; while (x<n) ‏ { cout<<&quot;dame los numeros&quot;; cin>>media[x]; x++; } cout<<&quot;los numneros introducidos en el orden original son:n&quot;; for (x=0;x<n;x++) ‏ { cout<< x<<media[x]; cout<<&quot;n&quot;; } return 0; }
  7. 7. int ordenamiento() ‏ { for (pasada=1;pasada<n;pasada++) ‏ { for (x=0;x<n-1;x++) ‏ { if (media[x]>media[x+1]) ‏ { temporal = media[x]; media[x] = media [x+1]; media[x+1]=temporal; } } } return 0; } int impresion() ‏ { for (x=0;x<n;x++) ‏ { cout<< x<<media[x]; cout<<&quot;n&quot;; } return 0; }
  8. 8. BUSQUEDA SECUENCIAL <ul><li>ESTE ALGORITMO BUSCA EL ELEMENTO DADO, RECORRIENDO SECUENCIALMENTE EL ARRAY DESDE UN ELEMENTO AL SIGUIENTE, COMENZANDO EN LA PRIMERA POSICION DEL ARRAY Y SE DETIENE CUANDO SE ENCUENTRA EL ELEMENTO BUSCADO O BIEN SE ALCANZA EL FINAL DEL ARRAY </li></ul><ul><li>ESTA TAREA REPETITIVA SE REALIZA CON BUCLES. </li></ul>
  9. 9. EJEMPLO BUSQUEDA SECUENCIAL #include &quot;iostream&quot; int n; int buscar (int [], int z); int a []={0,n}; int i, y, num; void main( ) ‏ { system (“cls” ); cout<<&quot;***busqueda lineal***n&quot;; cout<<&quot;cuantos numeros deseas ingresarn&quot;; cin>>n; gotoxy(10,4);cout<<&quot;posición&quot;; gotoxy(20,4);cout<<&quot;valor&quot;; for ( i=0;i<n; i++) ‏ { gotoxy (10,5+i) ;cout <<i; gotoxy (20,5+i); cin>>a[i]; } cout<<&quot;que numero deseas buscar n&quot;; cin>>num; cout<< &quot;se encuentra en la posición n&quot; << buscar (a,num); system (“pause” ); } int buscar (int c [], int z) ‏ { int j; for (j=0; j<n; j++) ‏ { if(c[j]==z) ‏ return j; } }
  10. 10. #include &quot;iostream&quot; // se declaran 3 funciones int original(); int ordenamiento(); int impresion(); int busqueda(); //n significa n posiciones, media es el arreglo,pasadas es el //ordenamiento, temporal sirve para el intercambio de valores, x es el //indice o subindice int n,x,pasada,temporal; int media[]={n}; main() ‏ { system(“cls”); cout<<&quot;a cuantos numeros deseas ordenar&quot;; cin>> n; cout<<&quot;impresion en orden original que fueron introducidos&quot;; original(); cout<<&quot;ordenamienton&quot;; ordenamiento(); cout<<&quot;impresion ordenados&quot;; impresion(); cout<<”busqueda lineal” busqueda(); system(“pause”); return 0; } int original() ‏ { x=0; while (x<n) ‏ { cout<<&quot;dame los numeros&quot;; cin>>media[x]; x++; } cout<<&quot;los numneros introducidos en el orden original son:n&quot;; for (x=0;x<n;x++) ‏ { cout<< x<<media[x]; cout<<&quot;n&quot;; } return 0; }
  11. 11. int ordenamiento() ‏ { for (pasada=1;pasada<n;pasada++) ‏ { for (x=0;x<n-1;x++) ‏ { if (media[x]>media[x+1]) ‏ { temporal = media[x]; media[x] = media [x+1]; media[x+1]=temporal; } } } return 0; } int impresion() ‏ { for (x=0;x<n;x++) ‏ { cout<< x<<media[x]; cout<<&quot;n&quot;; } return 0; } int busqueda() ‏ { int z; cout<<&quot;que numero deseas buscar n&quot;; cin>>z; for( x=0;x<n;x++) ‏ { if(media[x]==z) ‏ { cout<< &quot;se encuentra en la posición n&quot; <<x<<media[x]; } } }
  12. 12. Para arreglos ordenados es muy utilizado el método de búsqueda binaria, que consiste en irse directamente al elemento de central (posición de en medio) del arreglo, si el valor buscado es menor la primera mitad del arreglo se desecha, y si es mayor la se desecha la segunda. Se hace lo mismo con la parte que quedo del arreglo buscando el punto medio, y así sucesivamente. El mayor número de comparaciones posibles es igual a la mitad del tamaño del arreglo.

×