Monday, August 14, 2006

soucce code for counting sort

#include "iostream"
#include "malloc.h"
using namespace std;

#define SIZE 10

void countingsort(int *A,int lengthA, int k)
{
int *C;
int i,j;
C = (int*)malloc(k*sizeof(int));
for ( i = 0; i < k; i++ )
C[i] = 0;
for ( i = 0; i < lengthA; i++ )
C[i]++;
for ( i = 0, j = 0; i < k; i++ )
while ( C[i]-- ) A[j++] = i;
}

int main(void)
{
freopen("org.txt","w",stdin);
int A[SIZE];
int i;
for ( i = 0; i < SIZE; i++ ) {
A[i] = rand()%SIZE;
cout << A[i];
}
countingsort(A,SIZE,SIZE);
freopen("res.txt","w",stdin);
for ( i = 0; i < SIZE; i++ ) {
cout << A[i];
}
return 0;
}

0 Comments:

Post a Comment

<< Home