Пример #1
0
        public void TestRemovePalindroms()
        {
            var tws = new WordSet(new string[] { "a", "dasd", "bssae", "edfde", "asgsa", "var", "qwse", "ewter" });

            tws.RemovePalindroms();
            Assert.AreEqual(tws.ToString(), "bssae->dasd->ewter->qwse->var");
        }
Пример #2
0
        static void Main(string[] args)
        {
            var ws1 = new WordSet(new string[] { "a", "dasd", "bssae", "edfde", "asgsa", "var", "qwse", "ewter" });

            Console.WriteLine(@"WordSet by array: {0} Это исходный WordSet", ws1);

            var ws2 = new WordSet(new string[0]);
            var res = new WordSet(ws2, ws1);

            Console.WriteLine(@"Новый WordSet из двух: {0}", res);


            res.Delete("a");
            Console.WriteLine(@"Удаляем ""a"": {0}", res);

            res.Insert("a");
            Console.WriteLine(@"Вставляем ""a"": {0}", res);


            var r = res.newWordSetByWordLength(4);

            Console.WriteLine(@"Из имеющегося WordSet получить новый, где длины слов 4(исходный при этом не меняется): {0}", r);

            res.RemovePalindroms();
            Console.WriteLine(@"Удалеяем полиндромы:n {0}", res);

            var t = res.vowelDivide();

            Console.WriteLine(@"WordSet с словами начинающимися на гласные: {0}", t[0]);

            Console.WriteLine(@"WordSet с словами начинающимися на согласные: {0}", t[1]);
        }
Пример #3
0
        private Word CopyWordSet(WordSet ws)
        {
            var h = ws.Peek().Copy();

            h.Next = null;
            Fill(h, ws.Peek().Next);
            return(h);
        }
Пример #4
0
        public void TestVowelDivide()
        {
            var tws = new WordSet(new string[] { "a", "dasd", "bssae", "edfde", "asgsa", "var", "qwse", "ewter" });
            var t   = tws.vowelDivide();

            Assert.AreEqual(t[0].ToString(), "a->asgsa->edfde->ewter");
            Assert.AreEqual(t[1].ToString(), "bssae->dasd->qwse->var");
        }
Пример #5
0
        public void TestDelete()
        {
            var tws = new WordSet(new string[] { "b", "d" });

            tws.Delete("b");
            tws.Delete("a");
            Assert.AreEqual(tws.ToString(), "d");
        }
Пример #6
0
        public void TestInsert()
        {
            var tws = new WordSet(new string[] { "b", "d" });

            tws.Insert("a");
            tws.Insert("c");
            tws.Insert("e");
            tws.Insert("b");
            Assert.AreEqual(tws.ToString(), "a->b->c->d->e");
        }
Пример #7
0
        public WordSet newWordSetByWordLength(int l)
        {
            var  result = new WordSet();
            Word temp   = result.Peek();

            foreach (Word e in this)
            {
                if (e.Data.Length == l)
                {
                    InsertAfter(temp, e.Copy());
                    temp = temp.Next;
                }
            }
            result._head = result._head.Next;
            return(result);
        }
Пример #8
0
        public WordSet[] vowelDivide()
        {
            WordSet w1 = new WordSet(), w2 = new WordSet();
            Word    temp = _head, t1 = w1.Peek(), t2 = w2.Peek();

            while (temp != null)
            {
                if (IsVowels(temp.Data))
                {
                    InsertAfter(t1, temp.Copy());
                    t1 = t1.Next;
                }
                else
                {
                    InsertAfter(t2, temp.Copy());
                    t2 = t2.Next;
                }
                temp = temp.Next;
            }
            w1._head = w1._head.Next;
            w2._head = w2._head.Next;
            return(new WordSet[] { w1, w2 });
        }
Пример #9
0
 public WordSet(WordSet w1, WordSet w2)
 {
     _head = w1.IsEmpty() ? CopyWordSet(w2) :
             w2.IsEmpty() ? CopyWordSet(w1) : MergeWordSets(w1.Peek(), w2.Peek());
 }
Пример #10
0
        public void TestNewWordSetByWordLength()
        {
            var tws = new WordSet(new string[] { "a", "dasd", "bssae", "edfde", "asgsa", "var", "qwse", "ewter" });

            Assert.AreEqual(tws.newWordSetByWordLength(4).ToString(), "dasd->qwse");
        }