/// <summary> /// 重み付き辺のリストを静的に指定します。 /// </summary> /// <param name="edges">辺のリスト。</param> /// <param name="directed">有向グラフかどうかを示す値。</param> /// <returns>アルゴリズムを実行するためのオブジェクト。</returns> public WeightedListMapSpp <TVertex> ForWeightedMap(Edge <TVertex>[] edges, bool directed) { var map = CreateListMap <Edge <TVertex> >(); GraphConvert.WeightedEdgesToMap(map, edges, directed); return(new WeightedListMapSpp <TVertex>(this, map)); }
public IActionResult LineGen(YenInputViewmodel model) { if (ModelState.IsValid) { try { GraphConvert r = new GraphConvert(); LineGeneration lg = new LineGeneration(); var graph = r.ReadGraphFromString(model.CsvString, model.MirrorArcs); var paths = lg.GenerateLines(model.MinimumLength, model.MaximumLength, graph); string result = r.WriteText(paths); YenInputViewmodel vmResult = new YenInputViewmodel() { MinimumLength = model.MinimumLength, MaximumLength = model.MaximumLength, CsvString = result }; var stream = new MemoryStream(); StreamWriter w = new StreamWriter(stream); w.Write(vmResult.CsvString); w.Flush(); stream.Position = 0; return(File(stream, "text/comma-separated-values", "Lineplanning.csv")); } catch (Exception ex) { ViewBag.ExceptionMessage = ex.Message; return(View("Failed")); } } else { return(View(model)); } }
public void AddEdges(int[][] edges, bool directed) { GraphConvert.UnweightedEdgesToMap(map, edges, directed); }
public void AddEdges(Edge[] edges, bool directed) { GraphConvert.WeightedEdgesToMap(map, edges, directed); }