Título: [SOLUCIONADO] duda algoritmo ordenacion c# Publicado por: CrÄsH en 20 Marzo 2009, 16:34 pm Buenas, en este algoritmo de ordenacion, donde o como pondriais un contador para saber el numero de comparaciones que hace hasta k este ordenado.
Código: int i, j, posPetit = 0; for (i = 0; i < t.Length - 1; i++) { posPetit = i; for (j = i + 1; j < t.Length; j++) { if (t[posPetit] > t[j]) posPetit = j; } if (t[posPetit] != t[i]) { Intercanvi(ref t[i], ref t[posPetit]); } } La ordenacion no importa lo unico k importe es saber el numero de comparaciones k hace.Y el contador no va en ninguno de los 2 if. Gracias Título: Re: duda algoritmo ordenacion c# Publicado por: CrÄsH en 23 Marzo 2009, 17:15 pm alguna idea?¿
Título: Re: duda algoritmo ordenacion c# Publicado por: Hadess_inf en 23 Marzo 2009, 18:32 pm deberia ir en el segudo for.
Saludos Título: Re: duda algoritmo ordenacion c# Publicado por: CrÄsH en 23 Marzo 2009, 22:33 pm deberia ir en el segudo for. Saludos no va en el segundo for, ya k si ordenamos un vector de 100 posiciones ya ordenado salen las mismas iteraciones que uno desordenado. En cual deberia de ir?? Título: Re: duda algoritmo ordenacion c# Publicado por: Choclito en 26 Marzo 2009, 23:14 pm ahi te dejo una idea ojala que te sirva(nota:echo en block de notas no compilado).
Código: int n; int i,j; int c=0,aux,k=0; int l=0; Console.Write("Ingrese N:"); n=int.Parse(Console.ReadLine()); int[]Array=new int[N]; for(i=0;i<Array.Length;i++) { Array[i]=int.Parse(Console.ReadLine()); } //Ordenamos for(i=1;i<Array.Length;i++) { for(j=Array.Length-1;j>=i;j--) { c++; if(Array[j-1]>Array[j])//si se cumple enta ah Intercambiar { aux=Array[j-1]; Array[j-1]=Array[j]; Array[j]=aux; k=1; l=l+1; } } if(k==0) break;//Fin del Recorrido Porque el Array ya Esta Ordenado } Console.WriteLine("El Total de Comparaciones que Hizo fue de:"+c); Console.WriteLine("El Total de Intercambios que Hizo fue de:"+l); Console.Read(); Título: Re: duda algoritmo ordenacion c# Publicado por: CrÄsH en 27 Marzo 2009, 00:50 am gracias Choclito!! ya lo solucione.
|