/// <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); }
///<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); }