示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="initVertex"></param>
        /// <param name="links"></param>
        internal BasicGraph(int initVertex, params ICollection[] links)
        {
            this.initVertex = initVertex;

            foreach (ICollection ls in links)
            {
                this.numberOfVertices = Graph.getMaxVertex(this.numberOfVertices, ls);
            }

            this.numberOfVertices++;

            this.linksByVertices = new ArrayList[numberOfVertices];

            foreach (ICollection ls in links)
            {
                foreach (Edge l in ls)
                {
                    int node = l.source;
                    if (linksByVertices[node] == null)
                    {
                        linksByVertices[node] = new ArrayList();
                    }

                    linksByVertices[node].Add(l);
                }
            }
        }