public IAbstractOneDimensionalArrayObject GetArraysProduct(IAbstractOneDimensionalArrayObject arrayOne,
                                                                   IAbstractOneDimensionalArrayObject arrayTwo)
        {
            var result = OneDimensionalArrayFactoryObject.GetOneDimensionalArrayObject();

            result.SetOneDimensionalArray(arrayOne.GetOneDimensionalArray());

            for (var it = 0; it < arrayOne.GetLengthOfOneDimensionalArray(); it++)
            {
                result.GetOneDimensionalArray()[it] =
                    arrayOne.GetOneDimensionalArray()[it] * arrayTwo.GetOneDimensionalArray()[it];
            }

            return(result);
        }
        public bool AreArraysEqual(IAbstractOneDimensionalArrayObject arrayOne, IAbstractOneDimensionalArrayObject arrayTwo)
        {
            if (!AssertNumbers(arrayOne.GetLengthOfOneDimensionalArray(), arrayTwo.GetLengthOfOneDimensionalArray()))
            {
                return(false);
            }

            for (var it = 0; it < arrayOne.GetLengthOfOneDimensionalArray(); it++)
            {
                if (arrayOne.GetOneDimensionalArray()[it] != arrayTwo.GetOneDimensionalArray()[it])
                {
                    return(false);
                }
            }

            return(true);
        }
예제 #3
0
        public bool BinarySearchValue(IAbstractOneDimensionalArrayObject array, int valueToSearch)
        {
            var leftIndex  = 0;
            var rightIndex = array.GetLengthOfOneDimensionalArray() - 1;

            while (leftIndex < rightIndex)
            {
                var middlePoint = (leftIndex + rightIndex) / 2;

                if (valueToSearch == array.GetOneDimensionalArray()[middlePoint])
                {
                    return(true);
                }

                ProcessCaseWhenValueIsUnderMiddlePoint(array, valueToSearch, middlePoint, ref rightIndex);

                ProcessCaseWhenValueIsAboveMiddlePoint(array, valueToSearch, middlePoint, ref leftIndex);
            }

            return(false);
        }
예제 #4
0
 private static bool VerifyInsertionCondition(IAbstractOneDimensionalArrayObject array, int jit, int temp)
 {
     return(jit >= 0 && array.GetOneDimensionalArray()[jit] > temp);
 }
예제 #5
0
 public void Test_GetOneDimensionalArray_()
 {
     _oneDimensionalArray.SetOneDimensionalArray(new int[] { 1, 2, 3, 4, 5 });
     Assert.IsTrue(_oneDimensionalArray.GetOneDimensionalArray().SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));
 }