Exemplo n.º 1
0
        /// <summary>
        /// Создает новый дочерний узел для текущего узла
        /// </summary>
        /// <param name="value">Числовое значение текущего узла</param>
        /// <returns>Новый узел</returns>
        public TreeNode CreateNext(int value)
        {
            TreeNode node = new TreeNode(value);

            Next.Add(node);
            return(node);
        }
Exemplo n.º 2
0
 public void Add(int?value)
 {
     if (_value == null)
     {
         _value = value;
         return;
     }
     else if (_value > value)
     {
         var newItem = new LinkedListNode(value)
         {
             Previous = Previous,
             Next     = this
         };
         if (Previous != null)
         {
             Previous.Next = newItem;
         }
         Previous = newItem;
         return;
         //We place the new Node before this one
     }
     if (Next == null)
     {
         Next = new LinkedListNode
         {
             Previous = this
         };
     }
     ;
     Next.Add(value);
 }
Exemplo n.º 3
0
 public void AddNextKeyword(StreamizKeyword n)
 {
     if (!Next.Contains(n))
     {
         Next.Add(n);
     }
 }
Exemplo n.º 4
0
 public void Add(ElementType Data)
 {
     if (Element.CompareTo(Data) == 0)
     {
         if (Next == null)
         {
             Next          = new DoubleLinkedList <ElementType>(Data);
             Next.Previous = this;
         }
         else
         {
             DoubleLinkedList <ElementType> temp = new DoubleLinkedList <ElementType>(Data);
             temp.Next     = Next;
             temp.Previous = this;
             Next.Previous = temp;
             Next          = temp;
         }
     }
     else if (Element.CompareTo(Data) > 0)
     {
         if (Previous == null)
         {
             Previous      = new DoubleLinkedList <ElementType>(Data);
             Previous.Next = this;
         }
         else if (Previous.Element.CompareTo(Data) > 0)
         {
             Previous.Add(Data);
         }
         else
         {
             DoubleLinkedList <ElementType> temp = new DoubleLinkedList <ElementType>(Data);
             temp.Next     = this;
             temp.Previous = Previous;
             Previous.Next = temp;
             Previous      = temp;
         }
     }
     else
     {
         if (Next == null)
         {
             Next          = new DoubleLinkedList <ElementType>(Data);
             Next.Previous = this;
         }
         else if (Next.Element.CompareTo(Data) < 0)
         {
             Next.Add(Data);
         }
         else
         {
             DoubleLinkedList <ElementType> temp = new DoubleLinkedList <ElementType>(Data);
             temp.Next     = Next;
             temp.Previous = this;
             Next.Previous = temp;
             this.Next     = temp;
         }
     }
 }
Exemplo n.º 5
0
 public void AddNext(int nextId)
 {
     if (Next == null)
     {
         Next = new List <int>();
     }
     Next.Add(nextId);
 }
Exemplo n.º 6
0
 public void Add(T node)
 {
     if (Next == null)
     {
         Next = new LinkSetCollection <T>(this);
     }
     Next.Add(node);
 }
Exemplo n.º 7
0
 public void AddNext(List <T> next)
 {
     for (int i = 0; i < next.Count; i++)
     {
         if (!Next.Contains(next[i]))
         {
             Next.Add(next[i]);
         }
     }
 }
Exemplo n.º 8
0
 public void AddNext(params T[] next)
 {
     for (int i = 0; i < next.Length; i++)
     {
         if (!Next.Contains(next[i]))
         {
             Next.Add(next[i]);
         }
     }
 }
Exemplo n.º 9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="t"></param>
 public void Add(T t)
 {
     if (Next == null)
     {
         Next = t;
     }
     else
     {
         Next.Add(t);
     }
 }
Exemplo n.º 10
0
        public MashupElement(string stereotype, IList <MashupElement> nextElements, IList <string> nextNames) : this(stereotype)
        {
            foreach (MashupElement e in nextElements)
            {
                Next.Add(e);
            }

            foreach (string e in nextNames)
            {
                NextNames.Add(e);
            }
        }
Exemplo n.º 11
0
        public void AddNode(PhraseNode node)
        {
            var nodeWithSameWord = Next.FirstOrDefault(n => n.BaseWord == node.BaseWord);

            if (nodeWithSameWord == null)
            {
                Next.Add(node);
            }
            else
            {
                MergeNodes(nodeWithSameWord, node);
            }
        }
Exemplo n.º 12
0
 public void Add(T data, Node <T> headNode)
 {
     if (Next == null)
     {
         Next = new Node <T>(data)
         {
             Previous = headNode
         };
     }
     else
     {
         Next.Add(data, Next);
     }
 }
Exemplo n.º 13
0
 public void Add(T value, T nextTo = default)
 {
     if (Value == null)
     {
         Value = value;
     }
     else if (Value.Equals(nextTo) || Next == null)
     {
         Next = new Item <T>(value, Next);
     }
     else
     {
         Next.Add(value, nextTo);
     }
 }
Exemplo n.º 14
0
 public void Add(VaccAssigner newPerson)
 {
     if (Next is null)
     {
         Next = newPerson;
         return;
     }
     if (Next.VacCat.CompareTo(newPerson.VacCat) > 0)
     {
         var temp = Next;
         Next      = newPerson;
         Next.Next = temp;
         return;
     }
     Next.Add(newPerson);
 }
Exemplo n.º 15
0
 public void Add(T item, IDoublyLinkedList <T> caller = null)
 {
     if (caller == null)
     {
         caller = this;
     }
     if (Node == null)
     {
         Node     = item;
         Next     = new DoublyLinkedList <T>();
         Previous = caller;
     }
     else
     {
         Next.Add(item, caller);
     }
 }
Exemplo n.º 16
0
        public new void Add(TComparableKey key, TItem value)
        {
            // todo: remeber to apply the IsFit Optimization
            base.Add(key, value);

            if (Count <= _sizeLimit)
            {
                return;
            }

            if (Next == null)
            {
                Next = new SortedBucket <TComparableKey, TItem>(_sizeLimit, _sortMode);
            }

            var lastIndex = Count - 1;
            var lastItem  = this.Last().Value;
            var lastKey   = Keys.Last();

            RemoveAt(lastIndex);
            Next.Add(lastKey, lastItem);
            Next.Previous = this;
        }
Exemplo n.º 17
0
 public List <TreeNode> AddNext(TreeNode _newNode)
 {
     // Add new Node to "next" field
     Next.Add(_newNode);
     return(Next);
 }
Exemplo n.º 18
0
        // Metoda, ve které se uskutečňuje pohyb agenta po hracím poli
        public void PohybujSe(int pocetBehu)
        {
            for (int b = 0; b < pocetBehu; b++)
            {
                // Pomocné pole pro uložení výsledku posunu agenta ve třídě POZICE
                int[] report_pomocna = new int[4];
                // Do tohoto pole si uložím možné směry agenta, které zjišťuji v metodě expandujVrcholy
                int[] expanduj_pomocna = ExpandujVrcholy(agent.AktPozice[0], agent.AktPozice[1]);
                // Směr je nejprve na sever, protože směry v expanduj_pomocna jsou uloženy od severu
                int smer = 0;
                // Projdu všechny směry v expanduj_pomocna
                foreach (int i in expanduj_pomocna)
                {
                    // Pokud je dany smer povoleny, tedy -- 1, tak se vytvori nova POZICE s hodnotami tohoto policka
                    if (i == 1)
                    {
                        // Prozkoumám pozici daným směrem a získám report se vším potřebným pro vytvoření této pozice
                        report_pomocna = agent.Pohyb(smer);
                        // Výpočet heuristické funkce pro danou pozici
                        // Vstupem je X -- Y -- aktuální cena cesty
                        int celkovaCena = HeuristickaFunkce(report_pomocna[1], report_pomocna[2], report_pomocna[0]);
                        // Přidání nalezené pozice do NEXT, tedy budoucích pozicí, kam je možné jít
                        Next.Add(new Pozice(IDVrcholu, report_pomocna[0], report_pomocna[1], report_pomocna[2], report_pomocna[3], celkovaCena));
                        // Zvýším ID, aby další vrchol měl jedičné
                        IDVrcholu++;
                        // Porovnám pozice v NEXT podle celkové ceny cesty SESTUPNE
                        IEnumerable <Pozice> zalozni = Next.OrderBy(a => a.CelkovaCenaCesty);
                        Next = new List <Pozice>();
                        // Porovnanou kolekci si uložím z5 do původní, tedy do NEXT
                        foreach (Pozice p in zalozni)
                        {
                            Next.Add(p);
                        }
                    }
                    // Zvýším proměnnou směr, čímž půjdu na směr posunutý o 90°
                    smer++;
                }
                // Do prozkoumaných pozic ve STACK si uložím současnou pozici agenta, tedy poslední prozkoumanou
                Stack.Add(agent);
                // Vezmu první pozici v NEXT, tedy ta s nejnižší celkovou cenou cesty
                agent = Next[0];
                // Kontrola zda tato nová pozice, která se bude při dalším běhu této metody prozkoumávat není výherní
                if (Vyhra(agent.AktPozice[0], agent.AktPozice[1], b))
                {
                    break;
                }
                // Vykreslím hrací pole, kde pozici agenta znázorňuje prázdná pozice
                ZobrazHraciPole(agent.AktPozice[0], agent.AktPozice[1]);
                // Smažu pozici, kterou jsem si uložil do agenta z NEXT
                Next.RemoveAt(0);
            }

            Console.WriteLine("\n---------------STACK-----------------\n|X      |Y      |AktCena|CelkCena");
            foreach (Pozice p in Stack)
            {
                Console.WriteLine(p);
            }

            Console.WriteLine("\n---------------NEXT-----------------\n|X      |Y      |AktCena|CelkCena");
            foreach (Pozice p in Next)
            {
                Console.WriteLine(p);
            }

            Console.WriteLine("\n---------------AGENT-----------------\n|X      |Y      |AktCena|CelkCena");
            Console.WriteLine(agent);
        }
Exemplo n.º 19
0
 public MashupElement(string stereotype, MashupElement nextElement, string nextName) : this(stereotype)
 {
     Next.Add(nextElement);
     NextNames.Add(nextName);
 }
 public ISinglyLinkedNode <T> Add(InnerNode <T> innerNode)
 {
     Next = Next.Add(innerNode);
     return(this);
 }
 protected virtual void AddNext(SMElementEditor e)
 {
     Next.Add(e);
 }
Exemplo n.º 22
0
 //add handle that has transition out of this state
 public void AddNext(Handle h)
 {
     NextElem.AddRange(h.NextElem);
     Next.Add(h);
 }