Пример #1
0
        void Part5()
        {
            var capacity = myArray.Capacity;

            myArray.AddRange(new string[] { "3", "4", "6", "1", "3" });
            capacity = myArray.Capacity;
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Данная программа реализует динамический массив");

            DynamicArray array = new DynamicArray() {1,4,2,6,23};
            int a = 123;
            array.Add(a);
            array.Add(31);
            Console.WriteLine("Рассмотрим массив после инициализации и добавления нескольких элементов");
            array.Show();

            Console.WriteLine("Удалим элемент {0}", a);
            array.Remove(a);
            Console.WriteLine("Измененный масив");
            array.Show();

            Console.WriteLine("Добавим к нашему массиву другой массив");
            List<object> a2 = new List<object>{ 0, 3, 1, 42, 5 };
            array.AddRange(a2);
            Console.WriteLine("Измененный масив");
            array.Show();

            Console.WriteLine("Вывод 2-ого элемента массива");
            Console.WriteLine(array[2]);

            Console.WriteLine("{0}Для выхода нажмите клавишу Enter...", Environment.NewLine);
            Console.ReadLine();
        }
Пример #3
0
        public object Clone()
        {
            DynamicArray <T> other = new DynamicArray <T>(this.Capacity);

            other.AddRange(this.array);
            other.length = this.Length;
            return(other);
        }
Пример #4
0
        public static void Main(string[] args)
        {
            // condition 1
            DynamicArray <string> dynamicArray = new DynamicArray <string>();

            Console.WriteLine($"при создании конструктора без параметров Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при создании конструктора без параметров Length = {dynamicArray.Length}");
            Console.WriteLine();

            // condition 2
            dynamicArray = new DynamicArray <string>(5);
            Console.WriteLine($"при создании конструктора с одним целочисленным параметром Capacity(5) = {dynamicArray.Capacity}");
            Console.WriteLine($"при создании конструктора с одним целочисленным параметром Length = {dynamicArray.Length}");
            Console.WriteLine();

            // condition 3
            List <string> list = new List <string>();

            list.Add("A");
            list.Add("B");
            list.Add("C");
            list.Add("D");
            list.Add("E");
            list.Add("F");
            dynamicArray = new DynamicArray <string>(list);
            Console.WriteLine($"при создании конструктора с коллекцией размером {list.Count} Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при создании конструктора с коллекцией размером {list.Count} Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condition 4
            dynamicArray.Add("G");
            Console.WriteLine($"при добавления элемента в конец Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при добавления элемента в конец Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condition 5
            list = new List <string>();
            list.Add("H");
            list.Add("I");
            list.Add("J");
            list.Add("K");
            list.Add("L");
            list.Add("M");
            dynamicArray.AddRange(list);
            Console.WriteLine($"при добавления коллекции размером {list.Count} в конец Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при добавления коллекции размером {list.Count} в конец Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condiotion 6
            Console.WriteLine("попытка удаления G первый раз {0}", dynamicArray.Remove("G"));
            Console.WriteLine($"при удалении элемента G Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при удалении элемента G Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine("попытка удаления G второй раз {0}", dynamicArray.Remove("G"));
            Console.WriteLine();

            // condition 7
            dynamicArray.Insert(7, "G");
            Console.WriteLine($"при добавления элемента на позицию 7 Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при добавления элемента на позицию 7 Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            // ArgumentOutOfRangeException
            // dynamicArray.Insert(14,"G");
            Console.WriteLine();

            // condition 11
            Console.WriteLine($"Вывод нулевого элемента: {dynamicArray[0]}");

            // condition 1
            Console.WriteLine($"Вывод -1 элемента: {dynamicArray[-1]}");

            // condition 2
            dynamicArray.Capacity = 10;
            Console.WriteLine($"при изменении Capacity на 10 Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при изменении Capacity на 10 Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condition 3
            Console.WriteLine("Создание Clone");
            DynamicArray <string> cloneDynamicArray = (DynamicArray <string>)dynamicArray.Clone();

            Console.WriteLine($"Capacity Clone = {cloneDynamicArray.Capacity}");
            Console.WriteLine($"Length Clone = {cloneDynamicArray.Length}");
            ShowDynamicArray(cloneDynamicArray);
            Console.WriteLine();

            // condition 4
            string[] toArray = dynamicArray.ToArray();
            Console.WriteLine("ToArray:");
            foreach (var item in toArray)
            {
                Console.Write($"{item} ");
            }

            Console.WriteLine();
            Console.WriteLine();

            CycledDynamicArray <int> cycledDynamic = new CycledDynamicArray <int>()
            {
                1, 2, 3, 4
            };

            Console.WriteLine("CycledDynamicArray:");
            int count = 10;

            foreach (var item in cycledDynamic)
            {
                Console.Write(item + " ");
                count--;
                if (count == 0)
                {
                    break;
                }
            }
        }
Пример #5
0
        public void AddRangeInFullListTest()
        {
            int n = 5;
            int[] arr = new int[] { 1, 2, 3 };
            DynamicArray<int> data = new DynamicArray<int>(n);
            for (int i = 0; i < n; i++)
            {
                data.Add(i);
            }
            data.AddRange(arr);

            Assert.AreEqual(data.Capacity, 10);
            Assert.AreEqual(data.Length, 8);
            Assert.AreEqual(data[7], 3);
        }
Пример #6
0
        public void AddRangeTest()
        {
            int n = 5;
            int[] arr = new int[] { 1, 2, 3 };
            DynamicArray<int> data = new DynamicArray<int>(n);
            data.AddRange(arr);

            Assert.AreEqual(data.Capacity, 5);
            Assert.AreEqual(data.Length, 3);
            Assert.AreEqual(data[2], 3);
        }
Пример #7
0
        static void Main(string[] args)
        {
            List <int> lost = new List <int> {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
            };

            Task3_1_2 <int> .Lost(lost);

            Console.WriteLine();
            Task3_1_2 <string> .WordFreqeuncy("Anyone who reads Old and Middle English literary texts will be familiar with the mid-brown volumes of the EETS, with the symbol of Alfred's jewel embossed on the front cover. Most of the works attributed to King Alfred or to Aelfric, along with some of those by bishop Wulfstan and much anonymous prose and verse from the pre-Conquest period, are to be found within the Society's three series; all of the surviving medieval drama, most of the Middle English romances, much religious and secular prose and verse including the English works of John Gower, Thomas Hoccleve and most of Caxton's prints all find their place in the publications. Without EETS editions, study of medieval English texts would hardly be possible.");

            Console.WriteLine("Задание DynamicArray");
            int[] s = { 0, 1, 2, 3, 4, 5, 6, 7 };
            DynamicArray <int> my = new DynamicArray <int>(s);

            Console.Write("Первоначальный массив ");
            foreach (int i in my)
            {
                Console.Write(i);
            }
            Console.WriteLine();
            Console.WriteLine("Длина массива " + my.Length);
            Console.WriteLine("Емкость массива " + my.Capacity);
            Console.WriteLine("Обращение по индексу 3, значение равно " + my[3]);
            Console.WriteLine("Обращение по индексу -3, значение равно " + my[-3]);
            my.Add(8);
            Console.Write("Массив после добавления элемента ");
            foreach (int i in my)
            {
                Console.Write(i);
            }
            Console.WriteLine();
            Console.WriteLine("Длина массива после добавления элемента " + my.Length);
            Console.WriteLine("Емкость массива после добавления элемента " + my.Capacity);
            Console.Write("Массив после удаления элемента " + my.Remove(5) + ":");
            foreach (int i in my)
            {
                Console.Write(i);
            }
            Console.WriteLine();
            Console.WriteLine("Длина массива после удаления элемента " + my.Length);
            Console.WriteLine("Емкость массива после удаления элемента " + my.Capacity);
            Console.Write("Массив после вставки элемента " + my.Insert(5, 5) + ":");
            foreach (int i in my)
            {
                Console.Write(i);
            }
            Console.WriteLine();
            Console.WriteLine("Длина массива после вставки элемента " + my.Length);
            Console.WriteLine("Емкость массива после вставки элемента " + my.Capacity);
            my.AddRange(new DynamicArray <int> {
                9, 10, 11, 12, 13, 14, 15, 16
            });
            Console.Write("Массив после добавления коллекции ");
            foreach (int i in my)
            {
                Console.Write(i);
            }
            Console.WriteLine();
            Console.WriteLine("Длина массива после добавления коллекции " + my.Length);
            Console.WriteLine("Емкость массива после добавления коллекции " + my.Capacity);
        }