#include <iostream>
using namespace std;
#define siz 100000000
int a[siz],b[siz],c[siz];
void counting_sort(int a[], int n, int k)
{
for(int i=0;i<=k;i++) c[i]=0;
for(int j=1;j<=n;j++) c[a[j]]=c[a[j]]+1;
for(int i=2;i<=k;i++) c[i]=c[i]+c[i-1];
for(int j=n;j>=1;j--)
{
b[c[a[j]]]=a[j];
c[a[j]]-=1;
}
for(int i=1;i<=n;i++) cout<<b[i]<<endl;
}
int main()
{
int n;
while(cin>>n)
{
int k=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
k=max(k,a[i]);
}
counting_sort(a,n,k);
}
return 0;
}#include <iostream>
using namespace std;
#define siz 100000000
int a[siz],b[siz],c[siz];
void counting_sort(int a[], int n, int k)
{
for(int i=0;i<=k;i++) c[i]=0;
for(int j=1;j<=n;j++) c[a[j]]=c[a[j]]+1;
for(int i=2;i<=k;i++) c[i]=c[i]+c[i-1];
for(int j=n;j>=1;j--)
{
b[c[a[j]]]=a[j];
c[a[j]]-=1;
}
for(int i=1;i<=n;i++) cout<<b[i]<<endl;
}
int main()
{
int n;
while(cin>>n)
{
int k=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
k=max(k,a[i]);
}
counting_sort(a,n,k);
}
return 0;
}
Counting Sort
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment