private void ShowCliquesList() { /// Create List of cliques GraphCliques = new List <GraphClique>(); ///foreach (var item in GraphFromLibrary.maximalCliqueSet.Select((value, idx) => new { value, idx })) for (int idx = GraphFromLibrary.maximalCliqueSet.Length; idx-- > 0;) { var clique = GraphFromLibrary.maximalCliqueSet[idx];; ///item.value; var index = idx; ///item.idx; int[] sortedClique = clique.OrderBy(i => i).ToArray(); int _number = sortedClique.Length; string _vertices = string.Join(", ", sortedClique); GraphClique gc = new GraphClique { Number = _number, Vertices = _vertices }; GraphCliques.Add(gc); } /// Assign List to DataGrid this.DataGrid1.ItemsSource = GraphCliques; this.DataGrid1.Columns.Clear(); this.DataGrid1.AutoGenerateColumns = false; this.DataGrid1.AutoGenerateColumns = true; this.DataGrid1.Columns[0].Header = "K"; this.DataGrid1.Columns[1].Header = "Vertices"; this.DataGrid1.Items.Refresh(); /// Autosize columns foreach (DataGridColumn column in DataGrid1.Columns) { column.Width = new DataGridLength(1.0, DataGridLengthUnitType.SizeToCells); } }
private static Boolean KawigiEdit_RunTest(int testNum, string[] p0, Boolean hasAnswer, int[] p1) { Console.Write("Test " + testNum + ": [" + "{"); for (int i = 0; p0.Length > i; ++i) { if (i > 0) { Console.Write(","); } Console.Write("\"" + p0[i] + "\""); } Console.Write("}"); Console.WriteLine("]"); GraphClique obj; int[] answer; obj = new GraphClique(); DateTime startTime = DateTime.Now; answer = obj.allClique(p0); DateTime endTime = DateTime.Now; Boolean res; res = true; Console.WriteLine("Time: " + (endTime - startTime).TotalSeconds + " seconds"); if (hasAnswer) { Console.WriteLine("Desired answer:"); Console.Write("\t" + "{"); for (int i = 0; p1.Length > i; ++i) { if (i > 0) { Console.Write(","); } Console.Write(p1[i]); } Console.WriteLine("}"); } Console.WriteLine("Your answer:"); Console.Write("\t" + "{"); for (int i = 0; answer.Length > i; ++i) { if (i > 0) { Console.Write(","); } Console.Write(answer[i]); } Console.WriteLine("}"); if (hasAnswer) { if (answer.Length != p1.Length) { res = false; } else { for (int i = 0; answer.Length > i; ++i) { if (answer[i] != p1[i]) { res = false; } } } } if (!res) { Console.WriteLine("DOESN'T MATCH!!!!"); } else if ((endTime - startTime).TotalSeconds >= 2) { Console.WriteLine("FAIL the timeout"); res = false; } else if (hasAnswer) { Console.WriteLine("Match :-)"); } else { Console.WriteLine("OK, but is it right?"); } Console.WriteLine(""); return res; }