本文整理汇总了C#中Nodo类的典型用法代码示例。如果您正苦于以下问题:C# Nodo类的具体用法?C# Nodo怎么用?C# Nodo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Nodo类属于命名空间,在下文中一共展示了Nodo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeberiaAgregarEnlace
public void DeberiaAgregarEnlace()
{
Grafo g = new Grafo();
Nodo n = new Nodo("colo");
Nodo b = new Nodo("pepe");
Enlace e = new Enlace(55, n, b);
g.AgregarNodo(n);
g.AgregarNodo(b);
bool cargo = g.AgregarEnlace(e);
Assert.IsTrue(cargo);
}
示例2: DeberiaBorrarEnlace
public void DeberiaBorrarEnlace()
{
Grafo g = new Grafo();
Nodo n = new Nodo("colo");
Nodo b = new Nodo("colo1");
Enlace e = new Enlace(55, n, b);
g.AgregarNodo(n);
g.AgregarNodo(b);
g.AgregarEnlace(e);
bool borro = g.BorrarEnlace(e);
Assert.IsTrue(borro);
}
示例3: DeberiaAgregarNodo
public void DeberiaAgregarNodo()
{
Grafo g = new Grafo();
Nodo n = new Nodo("colo");
bool cargo = g.AgregarNodo(n);
Assert.IsTrue(cargo);
}
示例4: Balancear
public void Balancear(Nodo Fuente)
{
while (true)
{
if (NecesitaBalanceo(Fuente))
{
//Balancear!!
if (Fuente.pad != null)
{
Nodo Pad = Fuente.pad;
Nodo Bal = BalanceoSimple(Fuente);
Bal.pad = Pad;
if (Pad.inf < Bal.inf) { Pad.der = Bal; }
else { Pad.izq = Bal; }
}
else
{
Raiz = BalanceoSimple(Fuente);
Raiz.pad = null;
}
if (Rescate != null)
{
Rescate.pad = null;
AgregarNodo(Rescate);
Rescate = null;
}
}
Fuente = Fuente.pad;
if (Fuente == null) break;
}
}
示例5: crearTabla
/// <summary>
/// Permite construir un obejeto DataTable.
/// </summary>
/// <param name="MyNodo">Nodo con key (Nombre columna) y item (Tipo de dato de columna)</param>
/// <param name="nomTabla">Nombre de la tabla</param>
/// <returns>Objeto datatable construido</returns>
/// <remarks>
/// <list>Creado: Noviembre 29 de 2013 - Ing. David Pineda</list>
/// </remarks>
public static DataTable crearTabla(Nodo<string, System.Type>[] MyNodo, string nomTabla = "")
{
DataTable myDatatable = new DataTable();
DataColumn columna = default(DataColumn);
foreach (Nodo<string, System.Type> nodo in MyNodo)
{
try
{
columna = new DataColumn(nodo.key);
columna.DataType = nodo.item;
myDatatable.Columns.Add(columna);
}
catch (Exception ex)
{
throw ex;
}
}
if (!string.IsNullOrEmpty(nomTabla))
{
myDatatable.TableName = nomTabla;
}
return myDatatable;
}
示例6: Combinar
private static void Combinar(Nodo[] lista, int inf, int sup, int mitad) {
Nodo[] result = new Nodo[lista.Length];
int i = inf, j = mitad + 1, k = inf;
while(i <= mitad && j <= sup) {
if(lista[i].duración <= lista[j].duración) {
result[k] = lista[i]; i++;
} else {
result[k] = lista[j]; j++;
}
k++;
}
while(i <= mitad) {
result[k] = lista[i]; i++; k++;
}
while(j <= sup) {
result[k] = lista[j]; j++; k++;
}
for(k = inf; k <= sup; k++) {
lista[k] = result[k];
}
}
示例7: Albero
public Albero(String nome, String tipo, int split, int depth, Dictionary<String, String[]> VertexAttr, Dictionary<String, String[]> EdgeAttr)
{
this.nome = nome;
this.tipo = tipo;
this.splitSize = split;
this.depth = depth;
this.VertexAttributeList = new Dictionary<String, String[]>();
this.EdgeAttributeList = new Dictionary<String, String[]>();
/*
* Ho bisogno di una deep copy per salvare le liste di attributi
* passate come parametri nell'albero
*/
foreach (KeyValuePair<String, String[]> attr in VertexAttr)
{
this.VertexAttributeList.Add(String.Copy(attr.Key), new String[]{String.Copy(attr.Value[0]), String.Copy(attr.Value[1])});
}
foreach (KeyValuePair<String, String[]> attr in EdgeAttr)
{
this.EdgeAttributeList.Add(String.Copy(attr.Key), new String[] { String.Copy(attr.Value[0]), String.Copy(attr.Value[1]) });
}
// creazione del nodo radice
this.radice = new Nodo(this.nome, this.tipo, currNodeID, this.VertexAttributeList, this.splitSize, null);
// creazione dell'albero
buildNodes(this.depth, radice);
}
示例8: AgregarNodo
public void AgregarNodo(Nodo A)
{
if (A == null) return;
Nodo N = Raiz;
while (true)
{
if (N.inf >= A.inf && N.izq != null)
{
N = N.izq;
continue;
}
if (N.inf < A.inf && N.der != null)
{
N = N.der;
continue;
}
break;
}
if (N.inf < A.inf)
{
N.der = A;
A.pad = N;
Balancear(A);
return;
}
if (N.inf >= A.inf)
{
N.izq = A;
A.pad = N;
Balancear(A);
return;
}
}
示例9: Insertar
public void Insertar(int x, int y, int d)
{
Nodo p = null;
p = new Nodo(x, y, d);
if (inicio == null)
inicio = p;
else
{
switch (d)
{
case 0:
p.y = p.y - 10;
break;
case 1:
p.x = p.x + 10;
break;
case 2:
p.y = p.y + 10;
break;
case 3:
p.x = p.x - 10;
break;
}
p.liga = inicio;
inicio = p;
}
}
示例10: Mov
public void Mov(int d, Nodo p)
{
if (Perder())
inicio = new Nodo(100, 100, 1);
if (p.liga != null)
Mov(p.Direccion, p.liga);
switch (p.Direccion)
{
case 0:
p.y = p.y - 10;
break;
case 1:
p.x = p.x + 10;
break;
case 2:
p.y = p.y + 10;
break;
case 3:
p.x = p.x - 10;
break;
}
if (p.x < 0)
p.x = 190;
if (p.x > 190)
p.x = 0;
if (p.y < 0)
p.y = 190;
if (p.y > 190)
p.y = 0;
p.Direccion = d;
}
示例11: Ordenar
private static void Ordenar(Nodo[] lista, int inf, int sup) {
if(inf < sup) {
int mitad = (inf + sup) / 2;
Ordenar(lista, inf, mitad);
Ordenar(lista, mitad + 1, sup);
Combinar(lista, inf, sup, mitad);
}
}
示例12: DeberiaCrearNodoConNombre
public void DeberiaCrearNodoConNombre()
{
string nombre = "nodo1";
int x = 55;
int y = 33;
Nodo n = new Nodo(nombre);
Assert.AreEqual(nombre, n.nombre);
}
示例13: DeberiaDevolverNodoNoVisitado
public void DeberiaDevolverNodoNoVisitado()
{
Nodo NodoA = new Nodo();
Nodo NodoB = new Nodo();
NodoA.visitado = true;
Enlace e = new Enlace(33, NodoA, NodoB);
var NodoC = e.GetNodoNoVisitado();
Assert.AreEqual(NodoC, NodoB);
}
示例14: DeberiaDevolverTruePorqueLos2NodosFueronVisitados
public void DeberiaDevolverTruePorqueLos2NodosFueronVisitados()
{
Nodo NodoA = new Nodo();
Nodo NodoB = new Nodo();
NodoA.visitado = true;
NodoB.visitado = true;
Enlace e = new Enlace(33, NodoA, NodoB);
Assert.IsTrue(e.NodosVisitados());
}
示例15: DeberiaModificarNombre
public void DeberiaModificarNombre()
{
string nombre = "nodo1";
int x = 55;
int y = 33;
Nodo n = new Nodo(nombre);
n.nombre = "pepe";
Assert.AreEqual(n.nombre, "pepe");
}