Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 509

Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 512

Warning: Illegal string offset 'membergroupids' in [path]/includes/functions.php on line 441

Warning: Illegal string offset 'membergroupids' in [path]/includes/functions.php on line 443

Warning: Illegal string offset 'usergroupid' in [path]/includes/functions.php on line 452

Warning: Illegal string offset 'usergroupid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'usergroupid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 509

Warning: Illegal string offset 'usergroupid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'usergroupid' in [path]/includes/functions.php on line 518

Warning: Illegal string offset 'userid' in [path]/includes/functions.php on line 518
Programa: Ordenamiento de un arreglo por medio del método de la Burbuja
Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Carbide C/C#/C++


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 10-may-2011, 22:28   #1
Recien llegado
 
Fecha de Ingreso: abril-2011
Amigos 0
Mensajes: 3
Gracias: 0
Agradecido 3 veces en 1 mensaje
Predeterminado Programa: Ordenamiento de un arreglo por medio del método de la Burbuja

Bueno aquí les dejo un programita que mide la eficiencia en segundos de este método:
Notas:Este programa genera un arreglo con números aleatorio, para cambiar cuántos elementos habrá de ordenar solo cambian la directiva #define ELEMENTOS 10000 por el número que deseen, ojo prueben con mas de 1000 elementos o más, con 10000 elementos tarda medio segundo aproximadamente.
P.D. El programa no cuenta el tiempo que tardan en imprimirse los elementos del arreglo, solo calcula el tiempo que tarda en ordenarse dicho arreglo, si quieren eliminen la parte que imprime la lista de números y solo dejen el resultado del tiempo transcurrido, solo soporta hasta 500000 elementos, después de este número el programa crashea si alguno sabe como hacer para superar esta barrera que lo ponga aquí.

Link de descarga:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]


Código:
//Eficiencia de Ordenamiento interno por medio
//del método de la Burbuja
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ELEMENTOS 10000
//Prototipo de las funciones
void Burbuja(int arreglo[],int n);
//Inicio de main()
int main()

{
	int arreglo[ELEMENTOS];
	int i=0;
	double reloj1;
	double reloj2;
	double segundos;
	srand(time(NULL));
	//Captura de los elementos del arreglo con numeros aleatorios
	for (i=0;i<ELEMENTOS;i++)
	{
		arreglo[i]=rand();
	}
	//Tiempo
	reloj1=clock();
	Burbuja(arreglo,ELEMENTOS);
	reloj2=clock();
	segundos=(reloj2-reloj1)/CLOCKS_PER_SEC;
	//Muestra del arreglo ordenado
	for (i=0;i<ELEMENTOS;i++)
	{
		printf("Output %d:  ",i+1);
		printf("%d\n",arreglo[i]);
	}
	printf("\nTiempo transcurrido para ordenar %d elementos: %.3f segundos\n",ELEMENTOS,segundos);
	system("pause");
	return 0;
}
//Definicion de las funciones de ordenamiento
void Burbuja(int arreglo[],int n)
{
	int pasada;
	int j;
	int interruptor=1;
	//Bucle externo que controla la cantidad de pasadas
	for (pasada=0;pasada<n-1 && interruptor;pasada++)
	{
		//Por defecto suponemos que no habrá intercambios
		interruptor=0;
		//Bucle Interno que controla el cambio de indice
		for (j=0;j<n-pasada-1;j++)
		{
			if (arreglo[j]>arreglo[j+1])
			{
				//Intercambio de elementos adyascentes
				int aux=arreglo[j];
				arreglo[j]=arreglo[j+1];
				arreglo[j+1]=aux;
				//Marcamos que hubo al menos un inetrcambio
				interruptor=1;
			}
		}
	}
}
  


Última edición por Hunterofemotion; 10-may-2011 a las 22:56
Hunterofemotion está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo NO realizar una práctica de programación. Trivi181 Programación 1 19-oct-2010 00:24



Portal Hacker
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0