Exemplo n.º 1
0
        public SortResults Estimate(eArraySortAlgorithms sortAlgorithm, eArrayDataProviders searchDataProvider)
        {
            var _sort       = GetSort(sortAlgorithm);
            var _searchData = new DataProvidersFactory(SampleSize).GetProvider(searchDataProvider);

            return(_sort.Sort(_searchData.Data));
        }
Exemplo n.º 2
0
        public SearchResults Estimate(eArraysSearchAlgorithms searchAlgorithm, eArrayDataProviders searchDataProvider)
        {
            var _search     = GetSearch(searchAlgorithm);
            var _searchData = new DataProvidersFactory(SampleSize).GetProvider(searchDataProvider);

            var searchResults = new SearchResults()
            {
                ArrayCount = _searchData.Data.Count
            };

            searchResults.MinValue      = _search.Find(_searchData.Data, _searchData.MinValue);
            searchResults.AvgValue      = _search.Find(_searchData.Data, _searchData.AvgValue);
            searchResults.MaxValue      = _search.Find(_searchData.Data, _searchData.MaxValue);
            searchResults.RandomValue   = _search.Find(_searchData.Data, _searchData.RandomValue);
            searchResults.NotFoundValue = _search.Find(_searchData.Data, _searchData.NotFoundValue);

            return(searchResults);
        }
Exemplo n.º 3
0
        public IArrayDataProvider GetProvider(eArrayDataProviders arrayDataProvider)
        {
            switch (arrayDataProvider)
            {
            case eArrayDataProviders.SortedAndUniform:
                return(new SortedAndUniformProvider(SampleSize));

            case eArrayDataProviders.Sorted:
                return(new SortedProvider(SampleSize));

            case eArrayDataProviders.Unsorted:
                return(new UnsortedProvider(SampleSize));

            case eArrayDataProviders.ReverseSorted:
                return(new SortedAndUniformProvider(SampleSize));
            }

            throw new NotImplementedException("Unknown data provider '" + nameof(arrayDataProvider) + "'");
        }