计数排序

原创 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;
}
};

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

相关文章推荐

算法-计数排序

  • 2016-04-17 22:40
  • 408B
  • 下载

计数排序源代码C++实现

  • 2014-01-07 12:21
  • 366B
  • 下载

算法入门--计数排序

#include #include /*计数排序,经常作为基数排序的子过程,稳定的,时间复杂度O(n) 对每一个输入元素x,确定出小于x的元素个数,直接放到相应的位置。 */ void coun...

计数排序——count_sort

  • 2016-04-10 14:34
  • 165KB
  • 下载

计数排序代码

  • 2016-01-19 19:37
  • 997B
  • 下载

计数排序

比较计数 比较计数的思想就是算出列表中小于该元素个数,并把结果记录在一张表,在根据表,指出元素在有序表的位置 比较计数的思想确实很简单,接下来,看它的实现代码吧

计数排序算法实例

  • 2012-11-29 09:42
  • 574KB
  • 下载

计数排序(代码片段)

  • 2016-06-08 13:00
  • 10KB
  • 下载

计数排序的理解和代码实现

由决策树模型可知,比较排序最坏情况的下届要比较nlgn次,不是线性排序的。所以,在算法导论中提出了几种线性排序,其中计数排序就是一种。下面总结一下计数排序的原理: 假设n个输入元素中的每一个元素都是在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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