计数排序
2013-06-24 16:12
169 查看
#include<iostream> using namespace std; void countfac(int a[],int count[],int newarr[],int len) { int i; int j; for(i=0;i<len;++i) count[i]=0; for(i=0;i<len;++i) { for(j=i+1;j<len;++j) if(a[i]>a[j]) { count[i]++; } else count[j]++; } //注意此处的赋值 for(i=0;i<len;++i) newarr[count[i]]=a[i]; } void countfac2(int a[],int count[],int newarr[],int len) { int i; int j; for(i=0;i<len;++i) count[i]=0; for(i=0;i<len;++i) { for(j=i+1;j<len;++j) if(a[i]>a[j]) { count[i]++; } else count[j]++; } //注意此处的赋值 for(i=0;i<len;++i) newarr[count[i]]=a[i]; } int main() { int i; int a[]={3,2,4,5,64,78,90,43}; int len=((sizeof(a))/(sizeof(int))); int *count; int *newarr; count=(int *)malloc(sizeof(int)*len); newarr=(int *)malloc(sizeof(int)*len); countfac(a,count,newarr,len); for(i=0;i<len;++i) cout<<newarr[i]<<endl; free(count); free(newarr); }
相关文章推荐
- 常用排序算法之计数排序,基数排序与桶排序
- 计数排序(CountingSort)的实现
- 计数排序(Counting Sort)与比特计数排序(Bit Counting Sort)
- 2011 4-25 计数排序
- 《算法导论》学习总结——第二部分4计数排序
- 【算法12】时间为O(n)排序——计数排序
- 计数排序
- 计数排序(coutingsort)
- 三种线性排序算法:计数排序、桶排序与基数排序
- 计数排序
- 《算法导论》CLRS算法C++实现(五)P98 计数排序
- POJ2092:计数排序,求第K大的元素
- 【算法学习】线性时间排序-计数排序、基数排序和桶排序详解与编程实现
- 计数排序
- 计数排序-自然顺序Comparable
- 基于计数排序的基数排序 java版
- 基数排序、桶排序、计数排序
- UVA11462-(Age sort)(计数排序)
- 计数排序
- 计数排序及优化