算法设计题
问题1
有一种排序算法叫做计数排序。这种排序算法对一个待排序的表(采用顺序存储)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个元素,扫描待排序的表一趟,统计表中有多少个元素的关键字比该元素的关键字小。假设对某一个元素,统计出数值为count,那么这个元素在新的有序表中的合适的存放位置即为count。
(1)设计实现计数排序的算法。
(2)对于有n个元素的表,比较次数是多少?
(3)与简单选择排序相比,哪种方法更好?为什么?
void countSort(int A[], int B[], int n)