计数排序

来源:互联网 发布:java 线程通信 编辑:程序博客网 时间:2024/06/05 11:33

计数排序的思想是一个线性时间O(n)的排序,基本思想

对每一个输入元素x,确定小于x的元素个数。利用这个可以直接把x放在其数组的位置上。



#include<iostream>using namespace std;int main(){int A[]={0,3,4,1,2,1,5,6,7};int C[20]={0};int B[9]={0};for(int i=1;i<=8;i++){C[A[i]]=C[A[i]]+1;}for(int i=1;i<20;i++){C[i]=C[i]+C[i-1];}for(int i=8;i>0;i--){B[C[A[i]]]=A[i];C[A[i]]-=1;}for(int i=1;i<=8;i++){cout<<B[i]<<" ";}}





0 0
原创粉丝点击