- MT5(C++)软件编程十大排序算法 - 冒泡排序算法 (bubble Sort)
- MT5(C++)软件编程十大排序算法 - 选择排序算法 (select Sort)
- MT5(C++)软件编程十大排序算法 - 插入排序算法 (insert Sort)
- MT5(C++)软件编程十大排序算法 - 快速排序算法 (quick Sort)
- MT5(C++)软件编程十大排序算法 - 希尔排序算法 (shell Sort)
- MT5(C++)软件编程十大排序算法 - 堆排序算法 (heap Sort)
- MT5(C++)软件编程十大排序算法 - 归并排序算法 (merge Sort)
- MT5(C++)软件编程十大排序算法 - 计数排序算法 (counting Sort)
- MT5(C++)软件编程十大排序算法 - 桶排序算法 (bucket Sort)
- MT5(C++)软件编程十大排序算法 - 基数排序算法 (radix Sort)

计数排序算法(counting Sort)
以二分之一分递归分割数组
arr: 需要排序的数组
seq: 排序的方向, true 为升序, false为降序
template < typename T>
void countingSort(T &data[], T& out_data[])
{
int len = ArraySize(data);
if (len <= 1) return;
int max_num = max(data);
int min_num = min(data);
int count[];
ArrayResize(count,max_num + 1);
ArrayInitialize(count,0);
int c_len = ArraySize(count);
for(int i = 0; i<len; i++)
{
count[data[i]]++;
}
for(int i = 0; i<c_len; i++)
for(int j = 0; j<count[i]; j++)
{
// Print("结果:" + )
int size = ArraySize(out_data);
ArrayResize(out_data, size + 1);
ArrayFill(out_data,size,1,i);
}
//ArrayResize(out_data,ArraySize(new_arr));
//ArrayCopy(out_data,new_arr);
}