Ejemplo n.º 1
0
        public void LLCanAdd(object value)
        {
            Node node1 = new Node(10);
            Node node2 = new Node(null);
            Node node3 = new Node("Dune");
            Node node4 = new Node(value);
            LL   LL    = new LL(node1);

            LL.Add(node2);
            LL.Add(node3);
            LL.Add(node4);

            Assert.Equal(value, LL.Head.Value);
        }
Ejemplo n.º 2
0
        public void Add_New_Node_With_No_Content()
        {
            // Arrange
            int data      = 1;
            LL  test_list = new LL();

            // Act
            test_list.Add(data);
        }
Ejemplo n.º 3
0
        public Graph()
        {
            var n0 = new Node(300, 300);
            var n1 = new Node("FFFF");
            var n2 = new Node("7834");
            var n3 = new Node("2834");

            //var n0 = new Node(124);
            //Console.WriteLine("An element ID: {0}", n0.ID);
            //var n1 = new Node(254);
            //Console.WriteLine("An element ID: {0}", n1.ID);
            //var n2 = new Node(172);
            //Console.WriteLine("An element ID: {0}", n2.ID);
            //var n3 = new Node(94);
            //Console.WriteLine("An element ID: {0}", n3.ID);
            //var n4 = new Node(47);
            //Console.WriteLine("An element ID: {0}", n4.ID);
            ////var n5 = new Node(49);
            ////Console.WriteLine("An element ID: {0}", n5.ID);
            //var n5 = new Node(2);
            //Console.WriteLine("An element ID: {0}", n5.ID);
            VertexList.Add(n0);
            VertexList.Add(n1);
            VertexList.Add(n2);
            VertexList.Add(n3);
            //VertexList.Add(n4);
            //VertexList.Add(n5);

            //Console.WriteLine();
            for (int i = 1; i < 51; i++)
            {
                var nn = new Node(i * 6 - 4);
                Console.WriteLine("An element ID: {0}", nn.ID);
                VertexList.Add(nn);
            }
            //Console.WriteLine();

            //Generate(VertexList.Count, 2);
            //AddEdge(0, 3);
            //AddEdge(1, 3);
            //AddEdge(2, 3);
            //AddEdge(3, 4);
            //AddEdge(4, 2);

            //AddEdge(0, 1);
            //AddEdge(0, 5);
            for (int i = 0; i < EdgeList.Count; i++)
            {
                AdjacencyList.Add(EdgeList[i].v1);
                HL.Add(-1);
            }


            for (int i = EdgeList.Count - 1; i >= 0; i--)
            {
                AdjacencyList.Add(EdgeList[i].v2);
            }
            for (int k = 0; k < AdjacencyList.Count; k++)
            {
                int i = AdjacencyList[k];
                LL.Add(HL[i]);
                HL[i] = k;
            }
            this.GraphWrite();

            //Console.WriteLine("Обход списка рёбер вершины 2");
            //int v = 2;
            //for(int k = HL[v]; k!=-1; k = LL[k])
            //{
            //    int j = AdjacencyList[AdjacencyList.Count - 1-k];
            //    Console.WriteLine("{0} - {1}", v, j);
            //}



            //foreach (Node v in VertexList)
            //{
            //    Console.WriteLine("\n\n\nNode IP: {0}, Node ID: {1}", v.ip, v.ID);
            //    v.WriteNeighboorhoodSet();
            //    int pref = v.ComparePrefixes(v.ID, VertexList[0].ID);
            //    // Console.WriteLine("\nPrefixes ID1: {0}, ID2: {1}, {2}", v.ID, VertexList[0].ID, pref);
            //    v.WriteLeafSet();
            //    v.WriteRoutingTable();
            //}
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            bool running = true;
            LL   MyLL    = new LL();

            while (running)
            {
                menuStrings();
                string uChoice = Console.ReadLine();
                tehList(uChoice);
            }
            void menuStrings()
            {
                Console.WriteLine("WELL DON'T JUST STAND THERE, CHOOSE SOMETHIN'\n");
                Console.WriteLine("1: Show Head");
                Console.WriteLine("2: Add item");
                Console.WriteLine("3: Remove Item");
                Console.WriteLine("4: Search for Item");
                Console.WriteLine("5: Print");
                Console.WriteLine("6: Exit");
            }

            void tehList(string uChoice)
            {
                switch (uChoice)
                {
                case "1":
                    //Get head
                    if (MyLL.getFirst() == null)
                    {
                        Console.WriteLine("You've reached the Headless Horseman, cause there ain't no head here  :(\n");
                    }
                    else
                    {
                        Console.WriteLine(MyLL.getFirst().data);
                    }
                    break;

                case "2":
                    // Adds items to front or back
                    Console.WriteLine("What thingy mc doo da we addin SIR?");
                    string item = Console.ReadLine();
                    Console.WriteLine("We poppin' something on teh FRONT or nailin' it to teh BACK?\n F = FRONT & B = BACK");
                    string fORb = Console.ReadLine().ToUpper();
                    while (fORb != "F" && fORb != "B")
                    {
                        Console.WriteLine("THAT WAS NOT AN OPTION USER!\nTRY AGAIN!");
                        fORb = Console.ReadLine().ToUpper();
                    }
                    //Adds front
                    if (fORb == "F")
                    {
                        MyLL.addFirst(item);
                        Console.WriteLine("We popped " + item + " on the front for ya\n");
                    }
                    //Adds end
                    else
                    {
                        MyLL.Add(item);
                        Console.WriteLine("It's held up with glue and duct tape, but " + item + " is now on the end of the list\n");
                    }
                    break;

                case "3":
                    //Remove item
                    Console.WriteLine("THE WRECKING CREW IS COMING TO KNOCK SOMETHIN' OFF TEH LIST, What'll it be sir?");
                    string delete = Console.ReadLine();
                    if (MyLL.Contains(delete) == null)
                    {
                        Console.WriteLine("The wrecking crew returns sad faced and empty handed as " + delete + " was not in the list\nNothing removed\n");
                    }
                    else
                    {
                        MyLL.Remove(delete);
                        Console.WriteLine("The wrecking crew returns with smiles as they have successfully demolished " + delete + " from teh list\n");
                    }
                    break;

                case "4":
                    //Contains item
                    Console.WriteLine("Sherlock Holmes AT YOUR SERVICE. What be we searchin' for?");
                    string holmes = Console.ReadLine();
                    if (MyLL.Contains(holmes) == null)
                    {
                        Console.WriteLine("I declare this case unsolvable " + holmes + " IS NOT here\n");
                    }
                    else
                    {
                        Console.WriteLine("I do say that " + holmes + " is indeed contained within!\n");
                    }
                    break;

                case "5":
                    //Print all

                    Console.WriteLine(MyLL.Print());
                    break;

                case "6":
                    //Exits
                    Console.WriteLine("Goodbye :)");
                    int milisecs = 2000;
                    //This is bad way to exit I'm pretty sure, but wanted something different than usual
                    Thread.Sleep(milisecs);
                    Environment.Exit(0);
                    break;

                default:
                    Console.WriteLine("Invalid Selection\n");
                    break;
                }
            }
        }