#include <iostream>
#include <time.h>
using namespace std;
void distributionsort( int [ ] ,int [ ] ,int ,int ) ;
int main( )
{
int i;
srand ( time ( NULL ) ) ;
int num[ 15 ] = { 8 ,3 ,2 ,2 ,1 ,4 ,6 ,5 ,4 ,1 ,3 ,7 ,3 ,7 ,2 } ;
int result[ 15 ] = { 0 } ;
cout << "排序前:" ;
for ( i= 0 ; i< 15 ; i++ ) {
num[ i] = rand ( ) % 10 ;
cout << num[ i] << " " ; }
distributionsort( num,result,15 ,10 ) ;
cout << endl;
cout << "排序後:" ;
for ( i= 0 ; i< 15 ; i++ )
cout << result[ i] << " " ;
cout << endl;
system ( "pause" ) ;
return 0 ;
}
void distributionsort( int a[ ] ,int b[ ] ,int n,int k) {
int count[ k] ;
for ( int i= 0 ; i< k; i++ )
count[ i] = 0 ;
for ( int i= 0 ; i< n; i++ )
count[ a[ i] ] ++ ;
for ( int i= 1 ; i< k; i++ )
count[ i] = count[ i- 1 ] + count[ i] ;
for ( int i= 0 ; i< n; i++ ) {
b[ -- count[ a[ i] ] ] = a[ i] ;
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2luY2x1ZGUgPHRpbWUuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKCnZvaWQgZGlzdHJpYnV0aW9uc29ydChpbnQgW10saW50W10saW50LGludCk7CgoKCiAgICAgCgppbnQgbWFpbigpCgp7CgogICBpbnQgaTsgCgogICBzcmFuZCh0aW1lKE5VTEwpKTsKCiAgIGludCBudW1bMTVdPXs4LDMsMiwyLDEsNCw2LDUsNCwxLDMsNywzLDcsMn07CgogICBpbnQgcmVzdWx0WzE1XT17MH07CgogICAgY291dDw8IuaOkuW6j+WJjToiOwoKICAgZm9yKGk9MDtpPDE1O2krKyl7ICAgICAKCiAgICAgbnVtW2ldID0gcmFuZCgpICUgMTA7CgogICAgIGNvdXQ8PG51bVtpXTw8IiAgIjt9CgogICAgCgogICBkaXN0cmlidXRpb25zb3J0KG51bSxyZXN1bHQsMTUsMTApOwoKICAgCgogICBjb3V0PDxlbmRsOwoKICAgY291dDw8IuaOkuW6j+W+jDoiOwoKICAgICAgIGZvcihpPTA7aTwxNTtpKyspCSAKCiAgICAgICAgICBjb3V0PDxyZXN1bHRbaV08PCIgICI7CgogICAgICAgICAgCgogICAgY291dDw8ZW5kbDsgICAgICAKCiAgIAoKICAgICAgCgoJc3lzdGVtKCJwYXVzZSIpOwoKCXJldHVybiAwOwoKfQoKCgoKCgoKdm9pZCBkaXN0cmlidXRpb25zb3J0KGludCBhW10saW50IGJbXSxpbnQgbixpbnQgayl7CgogICAgIAoKICAgICBpbnQgY291bnRba107CgogICAgIAoKICAgICAKCiAgICAgZm9yKGludCBpPTA7aTxrO2krKykKCiAgICAgICAgY291bnRbaV09MDsKCiAgICAKCiAgICAgICAgCgogICAgIAoKICAgICAgICAKCiAgICAgZm9yKGludCBpPTA7aTxuO2krKykgCgogICAgICAgY291bnRbYVtpXV0rKzsKCiAgICAgCgogICAgIGZvcihpbnQgaT0xO2k8aztpKyspCgogICAgICAgIGNvdW50W2ldPWNvdW50W2ktMV0rY291bnRbaV07CgogICAgIAoKICAgICAgICAKCiAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7IAoKICAgICAgICBiWy0tY291bnRbYVtpXV1dPWFbaV07Cgog
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:21: error: ‘srand’ was not declared in this scope
prog.cpp:31: error: ‘rand’ was not declared in this scope
prog.cpp:57: error: ‘system’ was not declared in this scope
prog.cpp: In function ‘void distributionsort(int*, int*, int, int)’:
prog.cpp:107: error: expected `}' at end of input
prog.cpp:107: error: expected `}' at end of input
stdout