Esempio n. 1
0
            /// <summary>
            /// Sorts a FrequencyTableEntry-Array using a quicksort algorithm
            /// </summary>
            /// <param name="input">The Array to sort</param>
            /// <param name="order">The sort order</param>
            /// <returns>The sorted array</returns>
            public static FrequencyTableEntry <K>[] SortTable(FrequencyTableEntry <K>[] input,
                                                              FrequencyTableSortOrder order)
            {
                a = new FrequencyTableEntry <K> [input.Length];
                input.CopyTo(a, 0);
                switch (order)
                {
                case FrequencyTableSortOrder.Value_Ascending:
                    SortByValueAscending(0, a.Length - 1);
                    break;

                case FrequencyTableSortOrder.Value_Descending:
                    SortByValueDescending(0, a.Length - 1);
                    break;

                case FrequencyTableSortOrder.Frequency_Ascending:
                    SortByFrequencyAscending(0, a.Length - 1);
                    break;

                case FrequencyTableSortOrder.Frequency_Descending:
                    SortByFrequencyDescending(0, a.Length - 1);
                    break;

                case FrequencyTableSortOrder.None:
                    break;
                }
                return(a);
            }
Esempio n. 2
0
        ///<summary>
        /// Get array of frequency table entry
        ///</summary>
        ///<param name="order"></param>
        ///<returns></returns>
        public FrequencyTableEntry <T>[] GetTableAsArray(FrequencyTableSortOrder order)
        {
            FrequencyTableEntry <T>[] _output = null;
            switch (order)
            {
            case FrequencyTableSortOrder.None:
                _output = GetTableAsArray();
                break;

            case FrequencyTableSortOrder.Frequency_Ascending:
                _output = SortFrequencyTable <T> .SortTable(GetTableAsArray(),
                                                            FrequencyTableSortOrder.Frequency_Ascending);

                break;

            case FrequencyTableSortOrder.Frequency_Descending:
                _output = SortFrequencyTable <T> .SortTable(GetTableAsArray(),
                                                            FrequencyTableSortOrder.Frequency_Descending);

                break;

            case FrequencyTableSortOrder.Value_Ascending:
                _output = SortFrequencyTable <T> .SortTable(GetTableAsArray(), FrequencyTableSortOrder.Value_Ascending);

                break;

            case FrequencyTableSortOrder.Value_Descending:
                _output = SortFrequencyTable <T> .SortTable(GetTableAsArray(),
                                                            FrequencyTableSortOrder.Value_Descending);

                break;
            }
            return(_output);
        }