public override List <GenericNode> GetListSucc() { List <GenericNode> lsucc = new List <GenericNode>(); for (int i = 0; i < Dijkstra.nbnodes; i++) { if (Dijkstra.matrice[numero, i] != -1) { Node2 newnode2 = new Node2(); newnode2.numero = i; lsucc.Add(newnode2); } } return(lsucc); }
public void AjoutOuvertFermetUti(string input, bool isOuvert) { // OF = Ouvert ou ferme List <GenericNode> listeOF = new List <GenericNode>(); string nouveauOF = ""; //récupérer champOF foreach (char c in input) { if (c != ',') { int x = (int)Char.GetNumericValue(c); if (x != -1) { Node2 N = new Node2(); N.numero = x; listeOF.Add(N); nouveauOF += Convert.ToString(N.numero) + ", "; } } } // le mettre dans une liste statique, // affichage listBox , // Vider la textBox de saise utilisateur. if (isOuvert && nouveauOF != "") { if (historiqueUtiOuvert.Count == 0) { // On ajoute l'ouvert {0} au début var n = new Node2(); n.numero = int.Parse(this.graphConfig.InitNode); n.numero = 0; var listeInit = new List <GenericNode>(); listeInit.Add(n); historiqueUtiOuvert.Add(listeInit); } historiqueUtiOuvert.Add(listeOF); listBoxShowOuvertUti.Items.Add(nouveauOF); textBoxOuverts.Text = string.Empty; } else if (!isOuvert && nouveauOF != "") { historiqueUtiFerme.Add(listeOF); listBoxShowFermeUti.Items.Add(nouveauOF); textBoxFermes.Text = string.Empty; } }
private void Initialisation() { matrice = new double[nbnodes, nbnodes]; for (int i = 0; i < nbnodes; i++) { for (int j = 0; j < nbnodes; j++) { matrice[i, j] = -1; } } matrice[0, 1] = 3; matrice[1, 0] = 3; matrice[0, 2] = 5; matrice[2, 0] = 5; matrice[0, 3] = 7; matrice[3, 0] = 7; matrice[1, 4] = 8; matrice[4, 1] = 8; matrice[2, 4] = 3; matrice[4, 2] = 3; matrice[4, 5] = 7; matrice[5, 4] = 7; matrice[5, 6] = 4; matrice[6, 5] = 4; numinitial = Convert.ToInt32(textBox1.Text); numfinal = Convert.ToInt32(textBox2.Text); Node2 N0 = new Node2(); N0.numero = numinitial; List <GenericNode> solution = g.RechercheSolutionAEtoile(N0); Node2 N1 = N0; //affichage for (int i = 1; i < solution.Count; i++) { Node2 N2 = (Node2)solution[i]; listBox1.Items.Add(Convert.ToString(N1.numero) + "--->" + Convert.ToString(N2.numero) + " : " + Convert.ToString(matrice[N1.numero, N2.numero])); N1 = N2; } }
private void button2_Click(object sender, EventArgs e) { numinitial = Convert.ToInt32(textBox1.Text); numfinal = Convert.ToInt32(textBox2.Text); SearchTree g = new SearchTree(); Node2 N0 = new Node2(); N0.numero = numinitial; List <GenericNode> solution = g.RechercheSolutionAEtoile(N0); Node2 N1 = N0; for (int i = 1; i < solution.Count; i++) { Node2 N2 = (Node2)solution[i]; listBox1.Items.Add(Convert.ToString(N1.numero) + "--->" + Convert.ToString(N2.numero) + " : " + Convert.ToString(matrice[N1.numero, N2.numero])); N1 = N2; } g.GetSearchTree(treeView1); }
public override double GetArcCost(GenericNode N2) { Node2 N2bis = (Node2)N2; return(Form1.matrice[numero, N2bis.numero]); }
// Méthodes abstrates, donc à surcharger obligatoirement avec override dans une classe fille public override bool IsEqual(GenericNode N2) { Node2 N2bis = (Node2)N2; return(numero == N2bis.numero); }