Ejemplo n.º 1
0
 /// <summary>
 /// 数组排序
 /// </summary>
 /// <typeparam name="valueType">数据类型</typeparam>
 /// <param name="values">待排序数组</param>
 /// <param name="getKey">排序键值获取器</param>
 /// <param name="startIndex">起始位置</param>
 /// <param name="count">排序数据数量</param>
 /// <param name="fixedIndex">索引位置</param>
 /// <returns>排序后的数组</returns>
 private static valueType[] getSort/*Compare[0]*//*Compare[0]*/ <valueType>(valueType[] values, Func <valueType, /*Type[0]*/ ulong /*Type[0]*/> getKey, int startIndex, int count, /*Type[1]*/ ULongSortIndex /*Type[1]*/ *fixedIndex)
 {
     /*Type[1]*/
     ULongSortIndex /*Type[1]*/.Create(fixedIndex, values, getKey, startIndex, count);
     sort/*Compare[0]*//*Compare[0]*/ (fixedIndex, fixedIndex + count - 1);
     return /*Type[1]*/ (ULongSortIndex /*Type[1]*/.Create(fixedIndex, values, count));
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 数组排序
 /// </summary>
 /// <typeparam name="valueType">数据类型</typeparam>
 /// <param name="values">待排序数组</param>
 /// <param name="getKey">排序键值获取器</param>
 /// <param name="fixedIndex">索引位置</param>
 /// <returns>排序后的数组</returns>
 private static valueType[] getSort/*Compare[0]*//*Compare[0]*/ <valueType>(valueType[] values, Func <valueType, /*Type[0]*/ ulong /*Type[0]*/> getKey, /*Type[1]*/ ULongSortIndex /*Type[1]*/ *fixedIndex)
 {
     /*Type[1]*/
     ULongSortIndex /*Type[1]*/.Create(fixedIndex, values, getKey);
     sort/*Compare[0]*//*Compare[0]*/ (fixedIndex, fixedIndex + values.Length - 1);
     return /*Type[1]*/ (ULongSortIndex /*Type[1]*/.Create(fixedIndex, values, values.Length));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 数组排序
 /// </summary>
 /// <typeparam name="valueType">数据类型</typeparam>
 /// <param name="values">待排序数组</param>
 /// <param name="getKey">排序键值获取器</param>
 /// <param name="startIndex">起始位置</param>
 /// <param name="count">排序数据数量</param>
 /// <param name="fixedIndex">索引位置</param>
 /// <returns>排序后的数组</returns>
 private static valueType[] getSortDesc <valueType>(valueType[] values, Func <valueType, ulong> getKey, int startIndex, int count, ULongSortIndex *fixedIndex)
 {
     ULongSortIndex.Create(fixedIndex, values, getKey, startIndex, count);
     sortDesc(fixedIndex, fixedIndex + count - 1);
     return(ULongSortIndex.Create(fixedIndex, values, count));
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 数组排序
 /// </summary>
 /// <typeparam name="valueType">数据类型</typeparam>
 /// <param name="values">待排序数组</param>
 /// <param name="getKey">排序键值获取器</param>
 /// <param name="fixedIndex">索引位置</param>
 /// <returns>排序后的数组</returns>
 private static valueType[] getSortDesc <valueType>(valueType[] values, Func <valueType, ulong> getKey, ULongSortIndex *fixedIndex)
 {
     ULongSortIndex.Create(fixedIndex, values, getKey);
     sortDesc(fixedIndex, fixedIndex + values.Length - 1);
     return(ULongSortIndex.Create(fixedIndex, values, values.Length));
 }