Ejemplo n.º 1
0
        public SymbolGraph(string stream, char sp)
        {
            st = new SequentialSearchST <string, Int32>();
            string[] a = stream.Split('\n');

            for (int i = 0; i < a.Length; i++)
            {
                string[] b = a[i].Split(sp);
                for (int j = 0; j < b.Length; j++)
                {
                    if (!st.contains(b[j]))
                    {
                        st.put(b[j], st.size() + 1); // avoid key 0
                        UnityEngine.Debug.Log($"{st.size()}:{b[j]}");
                    }
                }
            }

            keys = new string[st.size()];

            foreach (string name in st.allkeys())
            {
                keys[st.get(name) - 1] = name;
                UnityEngine.Debug.Log($"{st.get(name)-1}:{name}");
            }

            G = new Graph(st.size());

            for (int i = 0; i < a.Length; i++)
            {
                string[] b = a[i].Split(sp);
                int      v = st.get(b[0]) - 1;
                for (int j = 1; j < b.Length; j++)
                {
                    G.addEdge(v, st.get(b[j]) - 1);
                }
            }
        }
Ejemplo n.º 2
0
        // todo: read from local file.
        private Graph initGraph()
        {
            var g = new Graph(13);

            g.addEdge(0, 5);
            g.addEdge(4, 3);
            g.addEdge(0, 1);
            g.addEdge(9, 12);
            g.addEdge(6, 4);
            g.addEdge(5, 4);
            g.addEdge(0, 2);
            g.addEdge(11, 12);
            g.addEdge(9, 10);
            g.addEdge(0, 6);
            g.addEdge(7, 8);
            g.addEdge(9, 11);
            g.addEdge(5, 3);
            return(g);
        }