sorting numeric array

Hi,

I would like to do the following sorting, but the output is not what i expected. Why 222 and 2222 are not at the last two elements of array?

awk 'BEGIN{a[1]="22";a[2]="2222";a[3]="33";a[4]="44";a[5]="222";a[6]="11";a[7]="22";a[8]="33";asort(a); for (i=1;i<=8;i++) print a}'
11
22
22
222
2222
33
33
44

thanks,
phoebe

Apparently asort() sorts the array elements as strings rather then integers.