Example #1
0
        static void Main(string[] args)
        {
            LinkList<string> seq = new LinkList<string>();

            //try
            //{

            //}
            //catch (FormatException)
            //{

            //    throw;
            //}
            seq.Add("11");
            seq.Add("22");
            seq.Add("33");
            seq.Add("44");
            seq.Add("55");
            seq.Insert("7", 3);
                Console.WriteLine(seq.GetEle(1));
                Console.WriteLine(seq.GetEle(2));
                Console.WriteLine(seq.GetEle(3));
                Console.WriteLine(seq.GetEle(4));
                Console.WriteLine(seq.GetEle(5));
                seq.Delete(3);
                Console.WriteLine(seq.GetEle(3));
                Console.WriteLine(seq.GetEle(4));

            Console.ReadKey();
        }
Example #2
0
 public static LinkList AsWebModel(this services.LinkList list)
 {
     var listModel = new LinkList();
     listModel.InjectFrom(list);
     listModel.Handle = list.Name;
     listModel.Links = list.Links != null ? list.Links.Select(l => l.AsWebModel()) : new List<Link>();
     return listModel;
 }
Example #3
0
        public void TestAsserLinkList()
        {
            LinkList<int> A = new LinkList<int>();
            A.Append(1);
            A.Append(2);
            A.Append(3);
            A.Append(4);

            //Get
            //Стандартное решение
            int testnum = A.Get(1);
            Assert.AreEqual(2, testnum);

            //Граничное решение
            testnum = A.Get(A.collElem - 1);
            Assert.AreEqual(4, testnum);

            //Delete
            //Стандартное решение
            A.Delete(2);
            testnum = A.Get(2);
            Assert.AreEqual(4, testnum);

            //Граничное решение
            A.Delete(A.collElem - 1);
            testnum = A.Get(A.collElem - 1);
            Assert.AreEqual(2, testnum);

            //FindElem
            LinkList<int> B = new LinkList<int>();
            B.Append(1);
            B.Append(2);
            B.Append(3);
            B.Append(4);
            //Стандартное решение
            testnum = B.FindElem(3);
            Assert.AreEqual(2, testnum);

            //Исключительная ситуация
            testnum = B.FindElem(10);
            Assert.AreEqual(-1, testnum);

            //Insert
            //Стандартное решение
            B.Insert(42, 3);
            Assert.AreEqual(42, B.Get(3));
            //Граничное решение
            int index = B.collElem;
            B.Insert(42, index);
            Assert.AreEqual(42, B.Get(index));
        }
Example #4
0
	LinkList changeDragPoint(string point)
	{
		int count = 0;
		LinkList newList = new LinkList ();
		for(int i=0;i<GameControl.mLinks.Length();i++)
			newList.Insert(i,GameControl.mLinks.get_Listnode(i+1));
		for (int i=1; i<newList.Length(); i++) {
			if(newList.get_Listnode(i).Equals(GameObject.Find(point).GetComponent<LinePoints>().point1)&&newList.get_Listnode(i+1).Equals(GameObject.Find(point).GetComponent<LinePoints>().point2)&&count==0)
			{
				newList.Insert(i,"dragObj");
				count++;
			}
		}
		return newList;
	}
Example #5
0
        static void Main(string[] args)
        {
            //1.使用BCL中的List线性表
            //List<string> strList = new List<string>();
            //strList.Add("123");
            //strList.Add("456");
            //strList.Add("789");

            //Console.WriteLine(strList[1]);

            //strList.Remove("789");
            //Console.WriteLine(strList.Count);
            //strList.Clear();
            //Console.WriteLine(strList.Count);

            //Console.ReadKey();

            //SeqList<string > seqList = new SeqList<string>();
            LinkList<string> seqList = new LinkList<string>();

            seqList.Add("123");
            seqList.Add("456");
            seqList.Add("789");

            Console.WriteLine(seqList.GetEle(0));
            Console.WriteLine(seqList[0]);

            seqList.Insert("777",1);

            for (int i = 0; i < seqList.GetLength(); i++)
            {
                Console.Write(seqList[i] + " ");
            }
            Console.WriteLine();

            seqList.Delete(0);
            for (int i = 0; i < seqList.GetLength(); i++)
            {
                Console.Write(seqList[i] + " ");
            }
            Console.WriteLine();

            seqList.Clear();
            Console.WriteLine(seqList.GetLength());
            Console.ReadKey();
        }
        public override object GetField(Sitecore.Data.Fields.Field field, SitecoreFieldConfiguration config, SitecoreDataMappingContext context)
        {

            if (field == null || string.IsNullOrEmpty(field.Value.Trim())) return null;

            List<Link> links = new List<Link>();
            Monoco.CMS.Fields.LinkListField linksField = new Monoco.CMS.Fields.LinkListField(field);

            foreach (var link in linksField.Links)
            {
                links.Add(link);
            }

            LinkList linkList = new LinkList(links);

            return linkList;
        }
Example #7
0
	LinkList changeDragPoint(string point)
	{
		int count = 0;
		LinkList newList = new LinkList ();
		for(int i=0;i<GameControl.mLinks.Length();i++)
		newList.Insert(i,GameControl.mLinks.get_Listnode(i+1));
		for (int i=1; i<=newList.Length(); i++) {
			if(newList.get_Listnode(i).Equals(point)&&count==0)
			{
				newList.Delete(i);
				newList.Insert(i-1,"dragObj");
				count=1;
			}
		}
		if (newList.get_Listnode (1).Equals ("dragObj")) {
			newList.Delete (newList.Length());
			newList.Insert(newList.Length(),"dragObj");
		}
			
		return newList;
	}
Example #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="array"></param>
        /// <param name="m">最大位数</param>
        public int[] Sort(int[] array, int m)
        {
            IList <int> finalList = new LinkList <Node, int>();

            IList <int>[] tempLists = new LinkList <Node, int> [10];
            int[]         tempArray = array;
            for (int i = 0; i < 10; i++)
            {
                tempLists[i] = new LinkList <Node, int>();
            }

            for (int i = 0; i < m; i++)
            {
                //放入链表中
                foreach (int num in tempArray)
                {
                    //求位数
                    int temp = num;
                    temp = temp / (int)Math.Pow(10, i);
                    int l = temp % 10;
                    tempLists[l].Append(num);
                }
                //记录取了第几个数
                int n = 0;
                //从链表中取出放到新数组里
                for (int l = 0; l < 10; l++)
                {
                    Node node = (Node)tempLists[l].Header().Next;
                    while (node != null)
                    {
                        tempArray[n] = node.Value;
                        node         = (Node)node.Next;
                        n++;
                    }
                    //清空链表
                    tempLists[l].MakeEmpty();
                }
            }
            return(tempArray);
        }
        public void ZipTest(object expected, int input)
        {
            LinkList One = new LinkList();
            LinkList Two = new LinkList();

            One.Append(new Node("A"));
            One.Append(new Node("B"));
            One.Append(new Node("C"));
            One.Append(new Node("D"));

            Two.Append(new Node("One"));
            Two.Append(new Node("Two"));

            LinkList Three = Merge(One, Two);

            Three.Current = Three.Head;
            for (int i = 0; i < input; i++)
            {
                Three.Current = Three.Current.Next;
            }
            Assert.Equal(expected, Three.Current.Data);
        }
Example #10
0
        public void Return_Null_If_K_Is_Larger_Than_List(int value)

        {
            //Arrange

            LinkList ll    = new LinkList(new Node(4));
            Node     node  = new Node(8);
            Node     node2 = new Node(15);
            Node     node3 = new Node(16);
            Node     node4 = new Node(23);

            ll.Add(node);
            ll.Add(node2);
            ll.Add(node3);
            ll.Add(node4);

            //Act
            Node output = ll.KthElementFromEnd(value);

            //Assert
            Assert.Null(output);
        }
Example #11
0
        public void FindingKElement(int value, int expectedResult)

        {
            //Arrange

            LinkList ll    = new LinkList(new Node(4));
            Node     node  = new Node(8);
            Node     node2 = new Node(15);
            Node     node3 = new Node(16);
            Node     node4 = new Node(23);

            ll.Add(node);
            ll.Add(node2);
            ll.Add(node3);
            ll.Add(node4);

            //Act
            Node output = ll.KthElementFromEnd(value);

            //Assert
            Assert.Equal(output.Value, expectedResult);
        }
        public void AddAfterTestTwo()
        {
            LinkList TestList = new LinkList();

            TestList.AddToHead(new Node("Hello"));
            TestList.AddToHead(new Node("Crazy"));
            TestList.AddToHead(new Node("World"));
            TestList.AddAfter(new Node("Creazy"), new Node("Crazy"));
            int count = 0;

            TestList.Current = TestList.Head;
            while (TestList.Current != null)
            {
                count++;
                if (TestList.Current.Data == new Node("Creazy").Data)
                {
                    break;
                }
                TestList.Current = TestList.Current.Next;
            }
            Assert.Equal(3, count);
        }
Example #13
0
        public void TestAppendAddsNodeToEndOfLinkedList()
        {
            //Arrange
            LinkList newLinkList = new LinkList();

            newLinkList.Insert(1);
            newLinkList.Insert(2);
            newLinkList.Insert(3);
            newLinkList.Insert(4);
            int  value       = 99;
            Node CurrentNode = newLinkList.Head;

            //Act
            newLinkList.Append(value);
            while (CurrentNode.Next != null) // Loop until the end Node of the linked list
            {
                CurrentNode = CurrentNode.Next;
            }

            //Assert
            Assert.Equal(value, CurrentNode.Value);
        }
Example #14
0
        public void TestMergeListsCorrectlyMergesTwoLinkedLists()
        {
            //Arrange
            LinkList newLinkList1 = new LinkList();

            newLinkList1.Insert(2);
            newLinkList1.Insert(3);
            newLinkList1.Insert(1);
            LinkList newLinkList2 = new LinkList();

            newLinkList2.Insert(4);
            newLinkList2.Insert(9);
            newLinkList2.Insert(5);
            string expectedString = "{1} -> {5} -> {3} -> {9} -> {2} -> {4} -> NULL";

            //Act
            Program.MergeLists(newLinkList1, newLinkList2);


            //Assert
            Assert.Equal(expectedString, newLinkList1.ToString());
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            LinkList test1 = new LinkList
            {
                Head = new Node
                {
                    Value = 1,
                    Next  = new Node
                    {
                        Value = 3,
                        Next  = new Node
                        {
                            Value = 2
                        }
                    }
                }
            };

            LinkList test2 = new LinkList
            {
                Head = new Node
                {
                    Value = 5,
                    Next  = new Node
                    {
                        Value = 9,
                        Next  = new Node
                        {
                            Value = 4
                        }
                    }
                }
            };

            LinkList zipped = MergeLists(test1, test2);

            Console.WriteLine(zipped.ToString());
        }
        public void MergeListsWorks()
        {
            LinkList list1 = new LinkList();
            LinkList list2 = new LinkList();

            for (int i = 0; i < 6; i++)
            {
                if (i % 2 == 0)
                {
                    list1.Append(i);
                }
                else
                {
                    list2.Append(i);
                }
            }

            LinkList merged   = Program.MergeLists(list1, list2);
            string   expected = "0 -> 1 -> 2 -> 3 -> 4 -> 5";

            Assert.Equal(expected, merged.Print());
        }
        public void DetermineIfKIsEqualToLinkedListLengthWhenLocatingKthElement()
        {
            LinkList ll = new LinkList();

            ll.Insert(3);
            ll.Append(9);
            ll.Append(19);
            ll.Append(27);
            ll.Append(42);

            int  kthElement = 5;
            int  listLength = 0;
            Node current    = ll.Head;

            while (current != null)
            {
                current = current.Next;
                listLength++;
            }

            Assert.Equal(listLength, kthElement);
        }
        public void DeleteLink(DesignLink link)
        {
            if (LinkList.Contains(link))
            {
                LinkList.Remove(link);
            }
            ItemList.ForEach(v =>
            {
                if (v.InLinkList.Contains(link))
                {
                    v.InLinkList.Remove(link);
                }
                if (v.OutLinkList.Contains(link))
                {
                    v.OutLinkList.Remove(link);
                }
            });
            var s = ItemList.FirstOrDefault(v => v.DesignItemID == link.SourceDesignItemID);
            var t = ItemList.FirstOrDefault(v => v.DesignItemID == link.TargetDesignItemID);

            if (s == null || t == null)
            {
                return;
            }
            var l = LinkList.Where(v => v.SourceDesignItemID == link.SourceDesignItemID &&
                                   v.TargetDesignItemID == link.TargetDesignItemID &&
                                   v.TargetPosition == link.TargetPosition && v.SourcePosition == link.SourcePosition &&
                                   link != v).ToList();

            if (l.Count > 0)
            {
                l.ForEach(tl =>
                {
                    tl.RadiusRadio        = 0;
                    tl.LineSweepDirection = Windows.UI.Xaml.Media.SweepDirection.Clockwise;
                });
                l.ForEach(tl => tl.SetCurveRadius(s, t));
            }
        }
        public void CanSearchForK(int value, int expected)
        {
            //arrange
            LinkList ll    = new LinkList();
            Node     node  = new Node(4);
            Node     node2 = new Node(8);
            Node     node3 = new Node(15);
            Node     node4 = new Node(16);
            Node     node5 = new Node(23);

            ll.Add(node);
            ll.Add(node2);
            ll.Add(node3);
            ll.Add(node4);
            ll.Add(node5);

            //act
            Node found = ll.KthElementFromEnd(value);

            //assert
            Assert.Equal(expected, found.Value);
        }
        public void LinkListHeadIsFirstNode()
        {
            LinkList list = new LinkList();

            list.Insert(5);
            list.Insert(18);
            list.Insert(71);
            Node current     = list.Head;
            bool headIsFirst = true;

            while (current != null)
            {
                // Checking if the head node, the last inserted, comes AFTER any other node in the list
                if (current.Next == list.Head)
                {
                    headIsFirst = false;
                }
                current = current.Next;
            }

            Assert.True(headIsFirst);
        }
Example #21
0
        protected override void CreateHypermedia()
        {
            var baseUri = BaseUrlResolver.GetBaseUrl();

            LinkList.Clear();
            LinkList.Add(new LinkType("self", baseUri + "api/arkivstruktur/Mappe/" + this.systemID));

            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/mappe",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/avslutt-mappe",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/avslutt"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/sakarkiv/utvid-til-saksmappe",
                                      baseUri + "api/sakarkiv/Saksmappe/" + this.systemID + "/utvid-til-saksmappe"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/registrering",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID +
                                      "/registrering{?$filter&$orderby&$top&$skip&$search}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/ny-registrering",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/ny-registrering"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/merknad",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID +
                                      "/merknad{?$filter&$orderby&$top&$skip&$search}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/ny-merknad",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/ny-merknad"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/undermappe",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID +
                                      "/undermappe{?$filter&$orderby&$top&$skip&$search}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/ny-undermappe",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/ny-undermappe"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/kryssreferanse",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID +
                                      "/kryssreferanse{?$filter&$orderby&$top&$skip&$search}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/ny-kryssreferanse",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/ny-kryssreferanse"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/klasse",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/klasse"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/arkivdel",
                                      baseUri + "api/arkivstruktur/Mappe/" + this.systemID + "/arkivdel"));
        }
        public void CanZipEqualLists()
        {
            LinkList test1 = new LinkList
            {
                Head = new Node
                {
                    Value = 1,
                    Next  = new Node
                    {
                        Value = 2,
                        Next  = new Node
                        {
                            Value = 5
                        }
                    }
                }
            };

            LinkList test2 = new LinkList
            {
                Head = new Node
                {
                    Value = 1,
                    Next  = new Node
                    {
                        Value = 3,
                        Next  = new Node
                        {
                            Value = 8
                        }
                    }
                }
            };

            LinkList zipped = LLMerge.Program.MergeLists(test1, test2);

            Assert.Equal("{ 1 } -> { 1 } -> { 2 } -> { 3 } -> { 5 } -> { 8 } -> NULL", zipped.ToString());
        }
        public void CanMergeUnevenWhereFirstListIsShorter()
        {
            //Arrange
            LinkList llOne = new LinkList();

            llOne.Add(new Node(41));
            llOne.Add(new Node(8));


            LinkList llTwo = new LinkList();

            llTwo.Add(new Node(51));
            llTwo.Add(new Node(18));
            llTwo.Add(new Node(12));
            llTwo.Add(new Node(2));

            //Act
            llOne.Merge2(llOne, llTwo);
            //Node found = llThree.Find(value);

            //Assert (expected, actual)
            Assert.Equal(llOne.Head, llOne.Merge2(llOne, llTwo));
        }
Example #24
0
        public void CountedNodesAreAdded()
        {
            // Arrange
            LinkList ll    = new LinkList(new Node(4));
            Node     node  = new Node(8);
            Node     node2 = new Node(15);

            //Act
            ll.Add(node);
            ll.Add(node2);

            int number = ll.CountNodes();



            /*
             * 15 <- 8 <- 4
             */

            //Assert

            Assert.Equal(3, number);
        }
        public void MergeListDestroysList2WhenEvenWhenList2IsLonger()
        {
            LinkList list1 = new LinkList();
            LinkList list2 = new LinkList();

            for (int i = 0; i < 6; i++)
            {
                if (i % 2 == 1)
                {
                    list2.Append(i);
                }
                else
                {
                    list1.Append(i);
                }
            }
            list2.Append(6);
            list2.Append(7);

            LinkList merged = Program.MergeLists(list1, list2);

            Assert.Null(list2.Head);
        }
Example #26
0
    /// <summary>
    /// 链表反转
    /// </summary>
    /// <param name="_l"></param>
    /// <returns></returns>
    ///
    public void ReverseLinkList(LinkList <int> _l)
    {
        Node <int> _head, _p, _q;

        _head = _l.Head;
        _q    = _head.Next;
        _p    = null;
        int count = 0;

        Debug.Log(3);
        //while (count<5)
        //{
        //    Debug.Log(4);
        //    count++;

        //        _head.Data = _q.Data;
        //        _p = _q.Next;
        //        _q.Next = _head;
        //        _head = _q;
        //        _q = _p;

        //}
    }
Example #27
0
        protected override void CreateHypermedia()
        {
            var baseUri = BaseUrlResolver.GetBaseUrl();

            LinkList.Clear();
            LinkList.Add(new LinkType("self", baseUri + "api/arkivstruktur/Arkiv/" + this.systemID));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/arkiv",
                                      baseUri + "api/arkivstruktur/Arkiv/" + this.systemID));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/arkivdel",
                                      baseUri + "api/arkivstruktur/Arkiv/" + this.systemID +
                                      "/arkivdel{?$filter&$orderby&$top&$skip&$search}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/ny-arkivdel",
                                      baseUri + "api/arkivstruktur/Arkiv/" + this.systemID + "/ny-arkivdel"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/arkivskaper",
                                      baseUri + "api/arkivstruktur/Arkiv/" + this.systemID +
                                      "/arkivskaper{?$filter&$orderby&$top&$skip&$search}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/arkivstruktur/ny-arkivskaper",
                                      baseUri + "api/arkivstruktur/Arkiv/" + this.systemID + "/ny-arkivskaper"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/administrasjon/dokumentmedium",
                                      baseUri + "api/kodelister/Dokumentmedium{?$filter&$orderby&$top&$skip}"));
            LinkList.Add(new LinkType("http://rel.arkivverket.no/noark5/v4/api/administrasjon/arkivstatus",
                                      baseUri + "api/kodelister/Arkivstatus{?$filter&$orderby&$top&$skip}"));
        }
        /// <summary>
        ///Insert 的测试
        ///</summary>
        public void InsertTestHelper <T>()
        {
            LinkList <int> target = (LinkList <int>)TestList.Clone(); // TODO: 初始化为适当的值

            //头
            int node     = -1; // TODO: 初始化为适当的值
            int i        = 0;  // TODO: 初始化为适当的值
            int expected = 0;

            target.InsertAfter(node, i);
            Assert.AreEqual <int>(4, target.GetLength());
            Assert.AreEqual <int>(-1, target.Head.Next.Data);

            target = (LinkList <int>)TestList.Clone();
            node   = 2;
            i      = 1;
            target.InsertAfter(node, i);
            Assert.AreEqual <int>(4, target.GetLength());
            Assert.AreEqual <int>(0, target.Locate(1));
            Assert.AreEqual <int>(1, target.Locate(100));
            Assert.AreEqual <int>(2, target.Locate(2));
            Assert.AreEqual <int>(3, target.Locate(40));
        }
        //将两个单链表进行混合得到总的单链表 O((m+n)*k)
        static LinkList <int> MergeLast(LinkList <int> la, LinkList <int> lb)
        {
            Node <int> p = la.Head;
            Node <int> q = lb.Head;

            LinkList <int> lc = new LinkList <int>();
            Node <int>     s  = new Node <int>();

            while (p != null && q != null)
            {
                if (p.Data < q.Data)
                {
                    s = p;
                    p = p.Next;
                }
                else
                {
                    s = q;
                    q = q.Next;
                }
                lc.Append(s.Data);
            }

            if (p == null)
            {
                p = q;
            }

            while (p != null)
            {
                s = p;
                p = p.Next;
                lc.Append(s.Data);
            }

            return(lc);
        }
    private void LoadLinkList()
    {
        DateTime   fromDate;
        DateTime   untilDate;
        List <int> selectedLinkRefList = GetPostCollection("LinkSelectionCheckBox");

        try
        {
            fromDate  = DateHandler.ParseDateString(FromDateTextBox.Text);
            untilDate = DateHandler.ParseDateString(UntilDateTextBox.Text);
        }
        catch { return; }

        using (var db = CLinq.DataContext.Create())
        {
            var linkQuery =
                from li in db.Links
                where li.LinkDate.Date >= fromDate && li.LinkDate.Date <= untilDate
                orderby li.LinkDate descending
                select new
            {
                li.LinkRef,
                li.LinkName,
                li.LinkDate,
                li.CategoryRef,
                CategoryName = li.Category.CategoryName,
                UserName     = li.UserRef != null ? li.User.UserName : "",
                li.LinkUrl,
                li.Clicks,
                li.Rating,
                IsChecked = selectedLinkRefList.Contains(li.LinkRef)
            };

            LinkList.DataSource = linkQuery.ToList();
            LinkList.DataBind();
        }
    }
Example #31
0
                    /// <summary>
                    /// Filters data from the source list that meets filtering criterion and writes them
                    /// into the new list.
                    /// THE STUDENT SHOULD IMPLEMENT THIS GENERIC METHOD ACCORDING THE TASK.
                    /// THE STUDENT SHOULDN'T CHANGE THE SIGNATURE OF THE METHOD!
                    /// </summary>
                    /// <typeparam name="TData">The type of the data objects stored in the list</typeparam>
                    /// <typeparam name="TCriterion">The type of criteria</typeparam>
                    /// <param name="source">The source list from which the result would be created</param>
                    /// <param name="criterion">Criterion that the object from source list should meet in
                    /// order to fall in result list</param>
                    /// <returns>The list that contains filtered data</returns>
                    public static LinkList <TData> Filter <TData, TCriterion>(LinkList <TData> source, TCriterion criterion) where TData : IComparable <TData>, IEquatable <TCriterion>
                    {
                        LinkList <TData> list = new LinkList <TData>();

                        for (source.Begin(); source.Exist(); source.Next())
                        {
                            TData temp = source.Get();

                            if (temp is Player)
                            {
                                Player player = (Player)(object)temp;


                                if (criterion is string)
                                {
                                    string criteria = (string)(object)criterion.ToString().Trim();

                                    if (player.Equals(criteria))
                                    {
                                        list.Add(temp);
                                    }
                                }

                                if (criterion is int)
                                {
                                    int criteria = (int)(object)criterion;

                                    if (player.Equals(criteria))
                                    {
                                        list.Add(temp);
                                    }
                                }
                            }
                        }

                        return(list);
                    }
Example #32
0
    private void Resize()
    {
        // From the SDK docs:
        //	 Hashtable is automatically increased
        //	 to the smallest prime number that is larger
        //	 than twice the current number of Hashtable buckets
        int newSize = HashPrimeNumbers.ToPrime((table.Length << 1) | 1);

        // allocate new hash table and link slots array
        int[]      newTable     = new int[newSize];
        LinkList[] newLinkSlots = new LinkList[newSize];

        for (int i = 0; i < table.Length; i++)
        {
            int cur = table[i] - 1;
            while (cur != NO_SLOT)
            {
                int hashCode = newLinkSlots[cur].HashCode = hcp.GetHashCode(keySlots[cur]) | HASH_FLAG;
                int index    = (hashCode & int.MaxValue) % newSize;
                newLinkSlots[cur].Next = newTable[index] - 1;
                newTable[index]        = cur + 1;
                cur = linkSlots[cur].Next;
            }
        }
        table     = newTable;
        linkSlots = newLinkSlots;

        // allocate new data slots, copy data
        TKey[]   newKeySlots   = new TKey[newSize];
        TValue[] newValueSlots = new TValue[newSize];
        Array.Copy(keySlots, 0, newKeySlots, 0, touchedSlots);
        Array.Copy(valueSlots, 0, newValueSlots, 0, touchedSlots);
        keySlots   = newKeySlots;
        valueSlots = newValueSlots;

        threshold = (int)(newSize * DEFAULT_LOAD_FACTOR);
    }
Example #33
0
        public void Run()
        {
            LinkList <long> list = new LinkList <long>();

            Console.WriteLine("Fill list");
            FillList(list);
            var iter  = list.GetIterator();
            int count = 1;

            while (true)
            {
                if (count % 10 == 0)
                {
                    Console.WriteLine();
                }
                var it = iter.GetCurrent();
                Console.Write(it + " ");
                bool res = iter.MoveNext();
                if (res == false)
                {
                    break;
                }
                count++;
            }
            iter.Reset();
            Console.WriteLine("End");
            iter.MoveNext();
            iter.MoveNext();
            iter.AddBefore(20L);
            iter.MoveNext();
            iter.MoveNext();
            iter.AddAfter(15L);

            list.RemoveKey(15L);

            DeleteFromList(list);
        }
        /// <summary>
        /// accounts for null user inputs for one, the other, or both link lists
        /// if both lists are valid with proper nodes
        /// then the while loop is set up to repoint each node in one link list
        /// to the next node in the other link list
        /// will repeat until one link list runs out of node
        /// then the nodes will point at the remaining nodes in the other link
        /// list
        /// </summary>
        /// <param name="One">first LL input</param>
        /// <param name="Two">second LL input</param>
        /// <returns></returns>
        public static LinkList Merge(LinkList One, LinkList Two)
        {
            LinkList Result = new LinkList();

            if (One.Head == null && Two.Head != null)
            {
                Result = Two;
                return(Result);
            }
            else if (One.Head != null && Two.Head == null)
            {
                Result = One;
                return(Result);
            }
            else if (One.Head == null && Two.Head == null)
            {
                return(Result);
            }
            else
            {
                Result.Head    = One.Head;
                Result.Current = Result.Head;
                One.Current    = One.Head;
                Two.Current    = Two.Head;
                while (One.Current != null && Two.Current != null)
                {
                    Node TempOne = One.Current.Next;
                    Node TempTwo = Two.Current.Next;
                    One.Current.Next = Two.Current;
                    Two.Current.Next = TempOne;
                    One.Current      = TempOne;
                    Two.Current      = TempTwo;
                }
                return(Result);
            }
        }
Example #35
0
        /// <summary>
        /// 入力されたgraphにおける、nodeIdから到達可能なノードを返すメソッド。
        /// Queueを用いた幅優先探索を行う。
        /// </summary>
        /// <param name="graph">グラフ</param>
        /// <param name="nodeId">ノードID</param>
        /// <returns>ノードIDから到達可能な点の配列</returns>
        public static int[] CalcBreadth(AdjacencyList graph, int nodeId)
        {
            // 作業領域を確保
            HashTable results = new HashTable(
                (graph.NodeNum < int.MaxValue / 10) ? graph.NodeNum * 10 : graph.NodeNum);
            Queue <int> nodeQ = new Queue <int>(graph.NodeNum);

            bool[] visited = new bool[graph.NodeNum];

            // 初期化
            results.Add(nodeId);
            nodeQ.Enqueue(nodeId);
            visited[nodeId] = true;

            // メインループ
            while (nodeQ.Count != 0)
            {
                int      v    = nodeQ.Dequeue();
                LinkList list = graph.GetOutLinkedEdgeList(v);

                // ノードvから出ているノードを検索
                for (LinkNode node = list.head; node != null; node = node.next)
                {
                    int w = GraphUtil.GetOpposite(v, graph.EdgeList[node.data]);
                    results.Add(w);

                    if (!visited[w])
                    {
                        visited[w] = true;
                        nodeQ.Enqueue(w);
                    }
                }
            }

            return(results.ToArray());
        }
        static void Main(string[] args)
        {
            LinkList list1 = new LinkList();
            LinkList list2 = new LinkList();

            for (int i = 0; i < 6; i++)
            {
                if (i % 2 == 0)
                {
                    list1.Append(i);
                }
                else
                {
                    list2.Append(i);
                }
            }

            Console.WriteLine($"List 1: {list1.Print()}");
            Console.WriteLine($"List 2: {list2.Print()}");

            LinkList merged = MergeLists(list1, list2);

            Console.WriteLine($"Merged: {merged.Print()}");
        }
Example #37
0
        public SpanDataTest()
        {
            spanContext  = SpanContext.Create(TraceId.GenerateRandomId(random), SpanId.GenerateRandomId(random), TraceOptions.DEFAULT);
            parentSpanId = SpanId.GenerateRandomId(random);

            attributesMap.Add("MyAttributeKey1", AttributeValue.LongAttributeValue(10));
            attributesMap.Add("MyAttributeKey2", AttributeValue.BooleanAttributeValue(true));
            attributes = Attributes.Create(attributesMap, 1);

            annotationsList.Add(TimedEvent <IAnnotation> .Create(eventTimestamp1, annotation));
            annotationsList.Add(TimedEvent <IAnnotation> .Create(eventTimestamp3, annotation));
            annotations = TimedEvents <IAnnotation> .Create(annotationsList, 2);

            //networkEventsList.add(SpanData.TimedEvent.Create(eventTimestamp1, recvNetworkEvent));
            //networkEventsList.add(SpanData.TimedEvent.Create(eventTimestamp2, sentNetworkEvent));
            //networkEvents = TimedEvents.Create(networkEventsList, 3);

            messageEventsList.Add(TimedEvent <IMessageEvent> .Create(eventTimestamp1, recvMessageEvent));
            messageEventsList.Add(TimedEvent <IMessageEvent> .Create(eventTimestamp2, sentMessageEvent));
            messageEvents = TimedEvents <IMessageEvent> .Create(messageEventsList, 3);

            linksList.Add(Link.FromSpanContext(spanContext, LinkType.CHILD_LINKED_SPAN));
            links = LinkList.Create(linksList, 0);
        }
Example #38
0
	    public LinkList (SingleValue<string> item, LinkList prev) 
	    {
		this.item = item;
		this.prev = prev;
	    }
Example #39
0
        static void Main(string[] args)
        {
            string url = args[0];
            string host;

            if (url.Contains("http"))
            {
                Console.WriteLine("Scanning");

                LinkScrapper ls = new LinkScrapper(url);
                host = ls.Host;

                LinkList<Link> linkslist = new LinkList<Link>();

                foreach (var link in ls.HRefList)
                {
                    Link lt = new Link(link, ls.Host);

                    linkslist.Add(lt);
                }

                //write xml
                if (args.Contains("/xml"))
                {
                    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(linkslist.GetType());
                    x.Serialize(XmlWriter.Create("LinkResults.xml"), linkslist);

                }

                //write xml
                if (args.Contains("/csv"))
                {
                      string filePath = @"LinkResults.csv";
                    StringBuilder sb = new StringBuilder();
                     sb.AppendLine("HyperReference" + "," + "Link" + "," + "StatusCode");
                    foreach (Link link in linkslist)
                    {
                        sb.AppendLine(link.Href + "," + link.code + "," + link.StatusCode);
                    }

                     File.WriteAllText(filePath, sb.ToString());

                }

                //write xml
                if (args.Contains("/output"))
                {
                    foreach (Link lt in linkslist)
                    {
                        Console.WriteLine(lt.code + " : " + lt.StatusCode + " : " + lt.Href);
                    }

                    Console.WriteLine("Complete");
                }

            }

            else
            {
                Console.WriteLine("Site must be formated with complete url. Must include http, Example http://www.google.com ");
            }

            Console.ReadLine();
        }
Example #40
0
	public override void reflectPlane (LinkList pointStr)
	{
		reflectPos=new Vector3[pointStr.Length()];
		base.setPointStr(pointStr);
		base.setPointPos ();
		for (int i=0; i<allPointPos.Length; i++) 
		{
			float x=allPointPos[i].x+(point1.x-allPointPos[i].x)*2;
			reflectPos[i]=new Vector3(x,allPointPos[i].y,allPointPos[i].z);
		}
		GameObject refPlane = new GameObject ("horizPlane");
		refPlane.tag = "reflectObj";
		for (int i=0; i<reflectPos.Length-1; i++) 
		{
			MLine line = new MLine (reflectPos[i],reflectPos[i+1],refPlane.transform,"reflectline");
			GameObject.Destroy(line.obj.GetComponent<dragLine>());
			line.obj.tag="refLine";
		}
	}
Example #41
0
	    public LinkList JoinPrev (LinkList prev)
	    {
		this.prev = prev;
		return this;
	    }
Example #42
0
	static LinkList Reverse (LinkList l) 
	{
	    // Algorithm copied from g_slist_reverse.
	    // Reverses in-place
	    
	    LinkList prev = null;
	    
	    while (l != null) {
		LinkList next = l.prev;
		l.prev = prev;
		
		prev = l;
		l = next;
	    }
	    
	    return prev;
	}
Example #43
0
	void ApplyOrderedDeps (LinkList list)
	{
	    list = Reverse (list);

	    if (cur_arg_name == null)
		for (; list != null; list = list.prev)
		    cur_targ.AddDefaultOrdered (list.item);
	    else
		for (; list != null; list = list.prev)
		    cur_targ.AddDep (cur_arg_name, list.item);
	}
Example #44
0
	//Vector3s
	public List<Vector3> getPoint(LinkList _points)
	{
		mPlane.name = "";
		points = new List<Vector3> ();
		for (int i=1; i<_points.Length(); i++) 
		{
			points.Add(GameObject.Find(_points.get_Listnode(i)).transform.position);
			mPlane.name+=_points.get_Listnode(i);
		}
		mPlane.AddComponent<MeshFilter> ();
		mPlane.AddComponent<MeshRenderer> ();
		mPlane.transform.position=new Vector3(0,0,-0.5f);
		mPlane.tag = "plane";
		return points;
	}
Example #45
0
	// Formatted string

	void SetupFormat (string format, LinkList list)
	{
	    cur_constructed.tb.TemplateName = "Core.FormatHelper";
	    cur_constructed.tb.AddDep ("format", new MBString (format));

	    list = Reverse (list);

	    for (; list != null; list = list.prev)
		cur_constructed.tb.AddDefaultOrdered (list.item);
	}
Example #46
0
	public void setPointStr(LinkList point)
	{
		mPoints = point;
	}
Example #47
0
 public void TestLinkList()
 {
     ILinearList<string> list = new LinkList<string>();
     TestLinearList(list);
 }
Example #48
0
	public virtual void reflectPlane(LinkList pointStr)
	{
	}