public void Append(T item) { if (Size == _box.Size * _line) { _box.Append(new VectorArray <T>(_line)); } _box.Get(Size / _line).Append(item); Size++; }
public void Add(T item) { if (_size == _array.Size * _vector) { _array.Add(new T[_vector]); } _array.Get(_size / _vector)[_size % _vector] = item; _size++; }
public void Add(T item) { if (Size() == array.Size() * capacity) { array.Add(new VectorArray <T>(capacity)); } array.Get(array.Size() - 1).Add(item); size++; }
public void Enqueue(uint priority, T item) { Size++; if (priority + 1 > _box.Size) { for (var i = _box.Size; i <= priority; i++) { _box.Append(new FactorArray <T>()); } } _box.Get((int)priority).Append(item); }
public void Add(T item, int index) { if (size == array.Size() * vector) { array.Add(new T[vector]); } int slice = index / vector; int pos = index % vector; if (index < size) { int lastSlice = size / vector; int lastSize = size % vector; int currentSlice = lastSlice; T[] currentArray = array.Get(array.Size() - 1); if (currentSlice > slice) { if (lastSize > 0) { Utils.MoveForward <T>(currentArray, 0, lastSize); } T[] prevArray = array.Get(currentSlice - 1); currentArray[0] = prevArray[vector - 1]; currentArray = prevArray; --currentSlice; while (currentSlice > slice) { Utils.MoveForward <T>(currentArray, 0, vector - 1); prevArray = array.Get(currentSlice - 1); currentArray[0] = prevArray[vector - 1]; currentArray = prevArray; --currentSlice; } if (pos < vector) { Utils.MoveForward <T>(currentArray, pos, vector - pos - 1); } } else { if (pos < lastSize) { Utils.MoveForward <T>(currentArray, pos, lastSize - pos); } } } array.Get(slice)[pos] = item; ++size; }
public void Add(T item) { if (Size == _actualSize.Length * (_vector / 2)) { Resize(_array); } var outerIndex = Size / (_vector / 2); var innerIndex = Size % (_vector / 2); _array.Get(outerIndex)[innerIndex] = item; _actualSize[_actualSize.Length - 1] += 1; }
static double readValueInEnd(IArray <string> array) { Stopwatch stopWatch = Stopwatch.StartNew(); string item = array.Get(array.Size() - 1); stopWatch.Stop(); return(stopWatch.Elapsed.TotalMilliseconds); }
static void printArray(IArray <int> arr) { int n = arr.Size(); for (int i = 0; i < n; i += 1) { Console.Write(arr.Get(i) + " "); } Console.WriteLine(); }
static double readValueInPositionRandom(IArray <string> array) { var rand = new Random(); int index = rand.Next(0, array.Size() - 1); Stopwatch stopWatch = Stopwatch.StartNew(); string item = array.Get(index); stopWatch.Stop(); return(stopWatch.Elapsed.TotalMilliseconds); }
public static void AddToEndTest(IArray <string> array) { int length = 100; string addedElement = "1000"; addValues(array, length); array.Add(addedElement); Assert.AreEqual(addedElement, array.Get(array.Size() - 1), "Последний элемент не равен добавленному"); }
public static void RemoveFirstElement(IArray <string> array) { int length = 100; addValues(array, length, "element"); array.Add("RemovedElement", 0); string removeElement = array.Pop(); Assert.AreNotEqual(removeElement, array.Get(0), "Элемент совпадает с удаленным"); }
public static void RemoveLasteElement(IArray <string> array) { int length = 100; addValues(array, length, "element"); array.Add("RemovedElement"); string removeElement = array.Pop(); Assert.AreNotEqual(removeElement, array.Get(array.Size() - 1), "Последний элемент совпадает с удаленным"); }
public static void RemoveRandomPositionElement(IArray <string> array) { int length = 100; var rand = new Random(); int index = rand.Next(0, array.Size()); addValues(array, length, "element"); array.Add("RemovedElement", index); string removeElement = array.Remove(index); Assert.AreNotEqual(removeElement, array.Get(index), "Элемент совпадает с удаленным"); }
public static void AddToRandomPositionTest(IArray <string> array) { int length = 100; string addedElement = "1000"; addValues(array, length); var rand = new Random(); int index = rand.Next(0, array.Size()); array.Add(addedElement, index); Assert.AreEqual(addedElement, array.Get(index), "Не совпадают"); }
public static void AddWithIndexOverSizeArray(IArray <string> array) { int length = 10; string addedElement = "1000"; int indexAddedElement = 20; addValues(array, length); array.Add(addedElement, indexAddedElement); Assert.AreEqual(array.Size(), indexAddedElement + 1, "Длинна массива меньше чем индекс добавленного элемента"); Assert.AreEqual(addedElement, array.Get(indexAddedElement), "Не совпадают"); }
public void Add(T item, int index) { if (Size() == array.Size() * capacity) { array.Add(new VectorArray <T>(capacity)); } for (int i = array.Size() - 1; i > (index / capacity); i--) { IArray <T> row = array.Get(i); IArray <T> prevRow = array.Get(i - 1); row.Add(prevRow.Get(prevRow.Size() - 1), 0); prevRow.Remove(prevRow.Size() - 1); } array.Get(index / capacity).Add(item, index % capacity); size++; }
public IAspect <TIn, TOut> Get(Type parameter) { var implementations = _implementations.Get(parameter); var length = implementations.Length; if (implementations.Length > 0) { var store = new DynamicStore <IAspect <TIn, TOut> >(32); for (var i = 0u; i < length; i++) { var registrations = _registrations.Get(implementations[i].GenericTypeArguments); store = store.Add(new Store <IAspect <TIn, TOut> >(registrations)); } return(new CompositeAspect <TIn, TOut>(store.Get().Instance)); } return(EmptyAspect <TIn, TOut> .Default); }
public T Remove(int index) { T result = Get(index); size--; array.Get(index / capacity).Remove(index % capacity); for (int i = (index / capacity) + 1; i < array.Size(); i++) { IArray <T> row = array.Get(i); IArray <T> prevRow = array.Get(i - 1); prevRow.Add(row.Get(0)); row.Remove(0); } if (array.Get(array.Size() - 1).Size() == 0) { array.Remove(array.Size() - 1); } return(result); }