APENDICE B.
Codificación de Estructuras de Datos
B.1 Arreglos unidimensionales estáticos
using System;
namespace Ejercicio1_Burbuja
{
public class Vector
{
string[] elementos= new string[10];
public Vector()
{
Console.WriteLine("INGRESE 10 NOMBRES");
for(int i=0; i<elementos.Length; i++)
elementos[i]:= Console.ReadLine();
}
[STAThread]
static void Main(string[] args)
{
Vector V1= new Vector();
Console.ReadLine();
}
}
}
B.2 Arreglos unidimensionales dinámicos
using System;
namespace Vectores
{
public class Vector
{
int[] elementos;
public void AdicionarNota(int nota)
{
if (elementos==null)
elementos = new int[1];
else
{
int [] temp= new int[elementos.Length+1];
elementos.CopyTo(temp,0);
elementos=temp;
}
elementos[elementos.Length-1]=nota;
}
public Vector CrearVector()
{
int nota=0;
Vector Vec= new Vector();
Console.WriteLine("Cuantos elementos:");
int n= int.Parse(Console.ReadLine());
Console.WriteLine("Valores:");
for(int x=0; x<n; x++)
{
nota=int.Parse(Console.ReadLine());
Vec.AdicionarNota(nota);
}
return Vec;
}
}
class Class1
{
static void Main(string[] args)
{
Vector V1= new Vector();
Vector V2= new Vector();
V1=V1.CrearVector();
V2=V2.CrearVector();
Console.ReadLine();
}
}
}
B.3 Métodos de ordenamiento y búsqueda
using System;
namespace Ejercicio1_Burbuja
{
public class Vector
{
string[] elementos= new string[10];
public Vector()
{
Console.WriteLine("INGRESE 10 NOMBRES");
for(int i=0; i<elementos.Length; i++)
elementos[i]= Console.ReadLine();
}
public void Burbuja()
{
string aux;
for(int i=0; i<elementos.Length; i++)
for(int j=0; j<(elementos.Length-i); j++)
if (elementos[j]› elementos[j+1])
{
aux= elementos[j];
elementos[j] =elementos[j+1];
elementos[j+1] = aux;
}
}
public void Busqueda()
{
// Aquí se escribe el recorrido
}
[STAThread]
static void Main(string[] args)
{
Vector V1= new Vector();
V1.Burbuja();
V1.Ver();
Console.ReadLine();
}
}
}
B.4 Estructuras de Datos Lineales Dinámicos (Listas Simples)
Using System;
namespace EJEMPLO_LISTAS_SIMPLES
{
public class Nodo
{
public int dato;
public Nodo sig;
}
public class Lista
{
public Nodo ini;
public Nodo fin;
void Insertar()
{
Nodo aux = new Nodo();
aux.dato = int.Parse(Console.ReadLine());
if (ini == null)
{
aux.sig= null;
ini = aux;
}
else
{
fin.sig= aux;
aux.sig = null;
}
fin= aux;
}
public void Eliminar()
{
// Agregar código para eliminar nodos
}
public static void Main()
{
Lista L1 = new Lista();
char op;
do
{
Console.WriteLine("1. Insertar");
Console.WriteLine("2. Visualizar");
Console.WriteLine("3. Eliminar");
Console.WriteLine("4. Salir");
op= char.Parse(Console.ReadLine());
switch (op )
{
case '1':
L1.Insertar();
break;
case '2':
L1.Visualizar();
break;
case '3':
L1.Eliminar();
break;
}
} while (op!='4');
} // FIN DE MAIN
} // FIN DE LA CLASE LISTA
} // FIN DE NAMESPACE
B.5 Recursividad
using System;
namespace Ej_Recursivo
{
class Fact
{
int n, Result;
public Fact(int num)
{
n=num;
Result=Factorial(n);
}
public int Factorial(int n)
{
if (n==1 || n==0)
return (1);
else
return (n * Factorial (n-1));
}
static void Main(string[] args)
{
Console.WriteLine("Dé un número: ");
int numero=int.Parse(Console.ReadLine());
Fact Num = new Fact(numero);
Console.WriteLine(numero + "!=" + Num.Result);
} // Fin del Main
} // Fin de la clase Fact
} // Fin del namespace
|