Código de C sharp - Ordenar un array bidimensional - Método burbuja

Imágen de perfil

Ordenar un array bidimensional - Método burbujagráfica de visualizaciones


C sharp

Publicado el 11 de Enero del 2009 por Xavi
18.830 visualizaciones desde el 11 de Enero del 2009. Una media de 49 por semana
Ejemplo de ordenar un array bidimensional utilizando el método de la burbuja.

Versión 1

Publicado el 11 de Enero del 2009gráfica de visualizaciones de la versión: Versión 1
18.831 visualizaciones desde el 11 de Enero del 2009. Una media de 49 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Main.cs created with MonoDevelop
// User: xavi at 00:50 11/01/2009
//
// La Web del programador
// http://www.lawebdelprogramador.com
//
using System;
 
namespace arrayBidimensionalOrdenar
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			//Creamos un array bidimensional
			int[,] nameArray=new int[5,2];
			//Colocamos contenido
			nameArray[0,0]=10;
			nameArray[0,1]=0;
			nameArray[1,0]=20;
			nameArray[1,1]=1;
			nameArray[2,0]=15;
			nameArray[2,1]=2;
			nameArray[3,0]=5;
			nameArray[3,1]=3;
			nameArray[4,0]=25;
			nameArray[4,1]=4;
 
			for (int i=0;i<(nameArray.Length/2);i++)
			{
				Console.Write (nameArray[i,0] + " - " + nameArray[i,1] + "
");
			}
			sortArrayBidi(ref nameArray);
			Console.Write("----------------------------
");
			for (int i=0;i<(nameArray.Length/2);i++)
			{
				Console.Write (nameArray[i,0] + " - " + nameArray[i,1] + "
");
			}
		}
 
		// Metodo de la burbuja para ordenar un array bidimensional
		public static void sortArrayBidi(ref int[,] originArray)
		{
			// Creamos un array temporal para almacenar el valor anterior
			// para no perder el valor
			int[,] tmp=new int[1,2] {{0,0}};
			// Recorremos el array entero
			for (int i=0;i<(originArray.Length/2);i++)
			{
				// Para cada valor de "i" recorremos el array entero
				for (int j=0;j<(originArray.Length/2)-1;j++)
				{
					if(originArray[j,0]<originArray[j+1,0])
					{
						// Cogemos el valor actual y lo ponemos en el array temporal
						tmp[0,0]=originArray[j,0];
						tmp[0,1]=originArray[j,1];
						// Reemplazamos el valor del array por el siguiente valor
						originArray[j,0]=originArray[j+1,0];
						originArray[j,1]=originArray[j+1,1];
						// En el siguente valor, ponemos el temporal
						originArray[j+1,0]=tmp[0,0];
						originArray[j+1,1]=tmp[0,1];
					}
				}
			}
		}
	}
}



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s1752