【第22期】观点:IT 行业加班,到底有没有价值?

计数排序

原创 2016年08月28日 14:15:42
class CountingSort {
public:
    int * countingSort(int* A, int n) {
	// write code here

	int min_ = A[0];
	int max_ = A[0];
	for (int i = 0; i<n; i++){
		if (A[i]<min_){
			min_ = A[i];
		}
		if (A[i]>max_){
			max_ = A[i];
		}
	}
	int len = max_ - min_ + 1;
	int *B = new int[len+1];
	int *C = new int[n];
	memset(B,0,sizeof(int)*(len+1));
	memset(C,0,sizeof(int)*(n) );

	for (int i = 0; i<n; i++){
		B[A[i] - min_]++;
	}
	for (int i = 1; i <= len; i++){
		B[i]+= B[i - 1];
	}
	int j = 0;
	for (int i = 0; i<n; i++){
		C[B[A[i] - min_] - 1] = A[i];
		B[A[i]-min_]--;
	}
	return C;
}
};

版权声明:本文为博主原创文章,欢迎指教~ 举报

相关文章推荐

对有限数组进行计数排序和求一个无序数组的中位数——题集(十八)

对有限数组进行计数排序和求一个无序数组的中位数——题集(十九) 今天分享一下,实现对有限数组进行计数排序和求一个无序数组的中位数的代码实现和测试用例。 数组定义为:int a[] = {12,13,1...

经典算法之计数排序

一 引言 <span style="font-family: Arial; font-size: 14px; line-height: 26px; padding: 0px; margin: 0px;

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

【数据结构】中的计数排序(CountSort)

【数据结构】中的计数排序(CountSort)

Storm 实现滑动窗口计数和TopN排序

计算top N words的topology, 用于比如trending topics or trending images on Twitter. <span style="color: #...

计数排序

计数排序假设n个输入元素中每一个都是在0到k区间内的一个整数,其中k为某个整数。当k=O(n)k=O(n)时,排序的运行时间为Θ(n)\Theta(n)。 计数排序的基本思想是:对每一个输入元素x,...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)