Enero 21, 2018, 06:52:07 am

Autor Tema: Ordenacion[burbuja,insercion,seleccion,shellsort]  (Leído 3786 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Kreusser

  • Yo vivo en CPH
  • ***
  • Mensajes: 893
  • Sexo: Masculino
  • Hard programming
    • Ver Perfil
    • :~#
Ordenacion[burbuja,insercion,seleccion,shellsort]
« en: ſeptiembre 30, 2011, 10:07:18 am »
Código: You are not allowed to view links. Register or Login
#include <stdio.h>
#define LONG 10

void imprimir(int *vector){
int i;
for(i = 0; i<LONG;i++){
     printf("%i",vector[i]);
}
}

/*Algoritmo De Ordenacion Burbuja*/

void burbuja(int *vector ){
int indice1,tmp,indice2;
for(indice1 = 0 ; indice1 < LONG;indice1++){
    for(indice2 = 0 ; indice2 < LONG;indice2++){
          if(vector[indice2]>vector[indice2+1]){
               tmp = vector[indice2];
               vector[indice2]=vector[indice2+1];
               vector[indice2+1]=tmp;
          }
     }
}
imprimir(vector);
}



Código: You are not allowed to view links. Register or Login
/*Ordenamiento por Seleccion: Funciona buscando el menor elemento de la lista y ubicandola en el primer lugar luego los siguientes elementos menores ubicandolas en sus lugares respectivos en el arreglo*/
void seleccion(int * vector){
int indice1,indice2,menorindice,tmp;
for(indice1 = 0; indice1<LONG;indice1++){
menorindice = indice1;
  for(indice2=indice1+1;indice2 < LONG;indice2++){
if(vector[indice2]<vector[menorindice]){ menorindice = indice2; }

}
if(indice1!=menorindice){
tmp=vector[indice1];
vector[indice1]=vector[menorindice];
vector[menorindice]=tmp;
}
}
imprimir(vector);
}
Código: You are not allowed to view links. Register or Login
/*Algoritmo de burbuja optimizada*/

void BurbujaOpt(int * vector){
int indice1,indice2,tmp;
    for(indice1 = 0; indice1 < LONG;indice1++){
        for(indice2 = 0; indice2<indice1;indice2++){
            if(vector[indice1]<vector[indice2]){
                 tmp = vector[indice2];
                 vector[indice2] = vector[indice1];
                 vector[indice1] = tmp; 
            }           
        }
    }
imprimir(vector);
}

Código: You are not allowed to view links. Register or Login
/*Ordenamiento Shellsort: */
void shellSort(int *vector){
int indice1,indice2,incremento,tmp;
for(incremento = LONG/2;incremento>0;incremento=incremento/2){
for(indice1=incremento;indice1 < LONG;indice1++){
tmp = vector[indice1];
                for(indice2=indice1;indice2 >= incremento && vector[indice2 - incremento]> tmp; indice2-=incremento ){
vector[indice2]=vector[indice2-incremento];
}
vector[indice2]=tmp;
}
}
imprimir(vector);
}
Código: You are not allowed to view links. Register or Login
/*Ordenacion por Insercion: Funciona recorriendo el arreglo y comparando cada elemento con los elementos antesedentes en el mismo*/
void insercion(int *vector){
     int i ,tmp,j;
     for(i=0;i<LONG;i++){
          tmp = vector[i];
          j= i - 1;
          while((vector[j]>tmp)&& j>= 0){
               vector[j+1]=vector[j];
               j--;
          }
          vector[j+1] = tmp;
     }
imprimir(vector);
}
« Última modificación: ſeptiembre 30, 2011, 11:42:29 am por Arobavx »

Desconectado Ike Array

  • Yo vivo en CPH
  • ***
  • Mensajes: 410
  • Estés donde estés... Todos están conectados.
    • Ver Perfil
Re:Ordenacion[burbuja,insercion,seleccion,shellsort]
« Respuesta #1 en: ſeptiembre 30, 2011, 11:27:44 am »
Muy bien, pero sería mejor que las separaras por cuadros, así es más fácil de entender, y la verdad yo veo esto ya muy repetido, hasta en wikipedia está, así que sería bueno que les hicieras una prueba de escritorio o algo para entenderlos mejor.
También agrego que los mejores métodos de ordenamiento son el  quicksort y el shellsort.

Buen aporte de todas formas y salu10
Me hackeé a tú hermana :v

Desconectado Binary_Death

  • Yo vivo en CPH
  • ***
  • Mensajes: 821
  • Sexo: Masculino
    • Ver Perfil
Re:Ordenacion[burbuja,insercion,seleccion,shellsort]
« Respuesta #2 en: ſeptiembre 30, 2011, 11:53:43 am »
Están buenos.
Yo había hecho hasta ahora: burbuja, quicksort, insersort, selectionsort. Algunos de ellos no los posteé. El shellsort lo cierto es que ni sabía en qué consistía, me lo estudiaré.

El que realmente me interesa hacer ahora es el mergesort o algoritmo por mezcla. El algo más difícil de implementar pero vale la pena.

Un saludo!

Desconectado Kreusser

  • Yo vivo en CPH
  • ***
  • Mensajes: 893
  • Sexo: Masculino
  • Hard programming
    • Ver Perfil
    • :~#
Re:Ordenacion[burbuja,insercion,seleccion,shellsort]
« Respuesta #3 en: Noviembre 19, 2014, 08:28:44 am »
ya se que es un post viejo pero dejo una ilustración 

You are not allowed to view links. Register or Login

Desconectado Rcart

  • G#
  • **
  • Mensajes: 3013
  • Sexo: Masculino
    • Ver Perfil
Re:Ordenacion[burbuja,insercion,seleccion,shellsort]
« Respuesta #4 en: Noviembre 19, 2014, 10:08:55 am »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

You are not allowed to view links. Register or LoginYou are not allowed to view links. Register or Login   |  You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

--- You are not allowed to view links. Register or Login ---


question
Metodo de Ordenacion Inserción directa por columnas

Iniciado por pahcko

0 Respuestas
2332 Vistas
Último mensaje Febrero 14, 2010, 07:08:43 pm
por pahcko
xx
Inserción de registros

Iniciado por shevchenko

0 Respuestas
1804 Vistas
Último mensaje Julio 11, 2008, 02:41:46 pm
por shevchenko
question
Dolor de cabeza!!!!!! ordenacion por mezcla

Iniciado por quetzalfir

0 Respuestas
761 Vistas
Último mensaje Abril 19, 2014, 02:55:58 pm
por quetzalfir
xx
Auto insercion de caracteres/Strings

Iniciado por Sacx

2 Respuestas
1132 Vistas
Último mensaje Noviembre 23, 2009, 09:53:25 am
por Sacx
xx
ESTRUCTURAS DE DATOS: Balanceo de árboles en Inserción

Iniciado por Rakzo-Fimbres

3 Respuestas
2550 Vistas
Último mensaje Diciembre 04, 2010, 07:37:02 pm
por Rakzo-Fimbres
question
Como funciona la insercion de archivos en GNUnet?

Iniciado por seth

0 Respuestas
869 Vistas
Último mensaje Marzo 10, 2012, 05:37:59 am
por seth
question
Como seria para que me imprima el resto de la ordenacion!!!

Iniciado por itachi26

6 Respuestas
3254 Vistas
Último mensaje Julio 19, 2011, 11:11:19 pm
por itachi26
xx
seleccion en monthcalendar

Iniciado por ruben_novato

0 Respuestas
890 Vistas
Último mensaje Diciembre 09, 2010, 11:11:13 am
por ruben_novato
xx
Método Burbuja

Iniciado por Lain0x

1 Respuestas
1105 Vistas
Último mensaje Mayo 01, 2011, 12:58:15 pm
por WaesWaes
question
Metodo burbuja

Iniciado por Madonia

7 Respuestas
2499 Vistas
Último mensaje Junio 17, 2010, 01:13:06 pm
por myguestp