Inheritance: IComparable
        private void shortestPathSearch(object startVertex)
        {
            Flights item;
            Flights saveItem;
            int minDistance;

            IPriorityQueue pq = new MinHeap();
            object vertex;
            var vertextQueue = new Queue();

            graph.clearMarks();
            saveItem = new Flights
                           {
                               FromVertex = startVertex,
                               ToVertex = startVertex,
                               Distance = 0
                           };

            pq.enqueue(saveItem);

            Console.WriteLine("Last Vertex  Destination  Distance");
            Console.WriteLine("-----------------------------------");

            do
            {
                item = (Flights) pq.dequeue();

                if (!graph.isMarked(item.ToVertex))
                {
                    graph.markVertex(item.ToVertex);
                    Console.Write(item.FromVertex);
                    Console.Write("  ");
                    Console.Write(item.ToVertex);
                    Console.WriteLine("   " + item.Distance);
                    item.FromVertex = item.ToVertex;
                    minDistance = item.Distance;
                    vertextQueue = graph.getToVertices(item.FromVertex);

                    while (vertextQueue.Count > 0)
                    {
                        vertex = vertextQueue.Dequeue();
                        if (!graph.isMarked(vertex))
                        {
                            saveItem = new Flights
                                           {
                                               FromVertex = item.FromVertex,
                                               ToVertex = vertex,
                                               Distance = minDistance + graph.weightIs(item.FromVertex, vertex)
                                           };
                            pq.enqueue(saveItem);
                        }
                    }
                }
            } while (!pq.isEmpty());
        }